0

我们需要对所有 5 个.classjava 文件进行签名。我们通过创建一个.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 次,但我再次收到相同的错误。

如果我做错了什么,有人可以帮助我吗?

4

1 回答 1

1

检查 jar 的 Manifest.mf 文件。这应该包含Trusted-Library: true如果您使用的是MixedCode(从 javascript 调用的 Applet)并且您的文件是自签名的。oracle 已在Java 7 update 21中发布了最新的安全更新。根据发行说明,您必须仅使用CA 证书签署您的代码,否则 JRE 会将您的代码视为恶意代码。oracle 完全弃用了 Mixedcode。请查看最新更新的发行说明。但Trusted-Library: truemanifest.mf中添加属性之前,请确保您了解该属性的影响。

于 2013-07-11T15:01:26.343 回答