我们需要签署所有5个.class
java文件。我们通过创建.jar
文件并签名来完成。但是在执行我的Web应用程序时,它在Java控制台
java.lang.SecurityException: attempted to open sandboxed jar https://xxxxxxxxxxx.com/xxxx/JavaApplet.jar as Trusted-Only
at com.sun.deploy.security.CPCallbackHandler$ParentElement.checkResource(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.getResource(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: java.lang.SecurityException: attempted to open sandboxed jar https://xxxxxxxxxxx.com/xxxx/JavaApplet.jar as Trusted-Only*
我不确定这个错误。在收到此错误后我已经签了Jar 3-4次,但我再次遇到同样的错误。
如果我做错了什么,请有人帮助我吗?
答案 0 :(得分:1)
检查jar的Manifest.mf文件。如果您使用MixedCode(从javascript调用Applet)并且您的文件是自签名的,则应包含Trusted-Library: true
。 oracle已在 Java 7 update 21 中发布了最新的安全更新。根据发行说明,您必须仅使用 CA证书对代码进行签名,否则JRE会将您的代码视为恶意代码。 oracle完全不赞成使用Mixedcode。请检查release notes of latest updates。但在 manifest.mf 中添加属性Trusted-Library: true
之前,请确保您了解该属性的效果。