使用java 7u45启动已签名的applet时出现的问题

时间:2013-10-29 11:20:26

标签: java security manifest signed-applet

我们还有一个applet,它也使用javascript来applet通信。

根据此link将java升级到7u45后,我们使用清单来构建jar的更改如下:

  • 添加了权限:对所有JAR的清单的所有权限
  • 将Application-Library-Allowable-Codebase:*添加到所有JAR的清单
  • 将Caller-Allowable-Codebase:*添加到所有JAR的清单
  • 为所有JAR的清单添加了Codebase:*

我们也禁用了-Djnlp.packEnabled参数。

通过这些更改,只有当可用的Java版本更新为JRE7u45时,我们的应用程序才能正常运行。

  1. 但是尝试使用Java 7 update25或update40启动相同的应用程序时,我们收到错误“LiveConnect (JavaScript) blocked due to security settings”。但是,如果我们只包含Trusted-Library并将其设置为true,则不要在清单中包含上述参数。我们能够启动应用程序,但有警告。 同样的方法不能用于JRE7u45,我们再次获得安全警告。
  2. 在其中一篇文章中,我看到了构建两个jar的方法(一个方法为1,另一个方法为2),并基于java版本部署相应的jar。

    但是这个解决方案可能不那么有效,因为我们的应用程序包含5个以上的jar文件,并且每个文件保留两个副本很繁琐。

    您的建议有助于我们了解我们的应用程序将与所有Java版本一起启动的方法。

1 个答案:

答案 0 :(得分:1)

从Java 7 Update 51开始,您应该能够同时使用(Trusted-Library)和新参数。那么只有Java 7 Update 45应该有警告,所有其他版本都应该有效。