jdk1.7 java applet 签名_Java Applet的数字签名总报错

按网上的步骤给Applet用到的jar包添加了数字签名,将服务器的cer证书导入客户端并且配置了policy文件,可一打开Applet显示的是个红叉,控制台报错如下:java.lang.ArrayIndexOutOfBou...

按网上的步骤给Applet用到的jar包添加了数字签名,将服务器的cer证书导入客户端并且配置了policy文件,可一打开Applet显示的是个红叉,控制台报错如下:

java.lang.ArrayIndexOutOfBoundsException: 0

at sun.security.pkcs.ContentInfo.(Unknown Source)

at sun.security.pkcs.PKCS7.parse(Unknown Source)

at sun.security.pkcs.PKCS7.parse(Unknown Source)

at sun.security.pkcs.PKCS7.(Unknown Source)

at sun.security.util.SignatureFileVerifier.(Unknown Source)

at java.util.jar.JarVerifier.processEntry(Unknown Source)

at java.util.jar.JarVerifier.update(Unknown Source)

at java.util.jar.JarFile.initializeVerifier(Unknown Source)

at java.util.jar.JarFile.getInputStream(Unknown Source)

at com.sun.deploy.net.DownloadEngine.getJarFileWithoutCache(Unknown Source)

at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)

at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)

at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)

at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)

at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)

at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)

at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)

at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)

at sun.misc.URLClassPath$JarLoader.getJarFile(Unknown Source)

at sun.misc.URLClassPath$JarLoader.access$600(Unknown Source)

at sun.misc.URLClassPath$JarLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at sun.misc.URLClassPath$JarLoader.ensureOpen(Unknown Source)

at sun.misc.URLClassPath$JarLoader.(Unknown Source)

at sun.misc.URLClassPath$3.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at sun.misc.URLClassPath.getLoader(Unknown Source)

at sun.misc.URLClassPath.getLoader(Unknown Source)

at sun.misc.URLClassPath.getResource(Unknown Source)

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at sun.applet.AppletClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.applet.AppletClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.applet.AppletClassLoader.loadCode(Unknown Source)

at sun.applet.AppletPanel.createApplet(Unknown Source)

at sun.plugin.AppletViewer.createApplet(Unknown Source)

at sun.applet.AppletPanel.runLoader(Unknown Source)

at sun.applet.AppletPanel.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

试着在Windows下双击证书安装,还是这样;将applet用到的两个jar包解压后打在一个包里再签名,还是这样……急求助,能解决再加50分!谢谢~~

我的步骤是:服务器端:1打jar包;2.用keytool生成密钥;3.将keystore导出;4.用keystore给jar包签名

客户端:1.拷贝服务器端得证书(.cer)文件;2.将证书导入到一个cacerts;3.用policytool修改策略文件。

很多网上的教程说最后要用HTMLConverter转换Applet嵌入的HTML文件,我先是在客户端转换,不管用,后来想到可能是客户端与服务器JRE版本不同,又在服务器转换了一次,还是一样。看到网上有些方法很简单,只要在服务器端签名,客户端打开页面时自动弹出是否保存数字签名证书的对话框,可我一打开页面没有窗口,只是Applet显示为小红叉。

1楼的大虾说“把JSP页面前的"/"去掉”,“JSP页面前”具体指哪里呢?谢谢!

2楼的朋友,分数什么的好说,只要问题能解决就行。

3楼的朋友,这样说够具体了么?

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值