编辑:由于 Java 7 Update 45 中的错误,您不应将 Trusted-Library 添加到清单文件中。只需添加新属性 Caller-Allowable-Codebase。有关更多信息,请参阅此问题:Java 小程序清单 - 允许所有 Caller-Allowable-Codebase
Java 7 Update 21 于 2013 年 4 月 16 日发布,导致我们的小程序开始显示此警告对话框。
根据发行说明:从 JDK 7u21 开始,在特权小程序中调用代码的 JavaScript 代码被视为混合代码,如果签名的 JAR 文件未使用 Trusted-Library 属性标记,则会引发警告对话框。
要解决此问题,请编辑您的 manifest.mf 文件并添加如下一行:
Trusted-Library: true
不过,在这样做之前你应该非常小心。如果可以从 javascript 调用您签名的小程序,那么恶意用户可能会在您用户的计算机上做有害的事情。
保护您的小程序的一种快速方法是防止它在其他网站上运行。通过将代码放入init()
查看并在getCodeBase().getHost()
与您的站点不匹配时抛出异常的方法中来做到这一点。
Java 7 Update 25 引入了另一种方法来限制可以运行您的小程序的站点。您可以像这样在清单文件中设置 Codebase 属性:
Codebase: test.example.com www.example.com
Java 7 Update 45(2013 年 10 月 16 日发布)对 LiveConnect 系统(javascript-to-applet 桥)引入了更多更改,可能会导致另一个提示。本文讨论 7u45 的变化:https ://blogs.oracle.com/java-platform-group/entry/liveconnect_changes_in_7u45
基本上,您还需要在清单文件中添加以下内容以避免出现提示:
Caller-Allowable-Codebase: test.example.com www.example.com
如果您销售的产品包含一个小程序并且您不知道它可以部署在哪些域上,您可以在此处填充 *。