java - 无法使用 Java 7u21 启动小程序

标签 java security applet java-web-start

所以我们安装了 Java 7u21 版本,它应该加强小程序的安全性。不幸的是,它太紧了以至于我们的小程序不再运行了。不好。

有趣的是,它只是在我们使用 JWS 操作它时才停止工作。如果我们从标准网页将其作为标准小程序启动,一切正常。

在 JWS 模式下,我们至少会遇到反射和 java.lang.Thread.setDefaultUncaughtExceptionHandler 方面的安全问题。

证书看起来没问题。

Oracle 的发行说明没有提供太多与 JWS 相关的内容。

因此,我向社区提出的问题是:有人对此有想法或(甚至更好)解决方案吗?

与给定建议/评论相关的附加信息:

此小程序由全局数百个第三方客户端运行,因此不幸的是无法更改安全策略。该问题对于客户端是可重现的。 不过,我可以确认更改策略文件可以解决问题。

当我从从 Eclipse 启动的 Tomcat 运行小程序时(因此当然没有签名的小程序),它会按预期在浏览器中显示警告通知。作为一个容易上当受骗的人,我允许小程序运行,因为它是从我自己的开发环境启动的。 这仍然会导致安全故障。

我已经考虑过这是否是 Java 中的错误,但我想看看是否有其他人看到同样的问题。我想我们都知道 Oracle 修复错误的周转时间并不总是最好的...

感谢任何输入。


非常感谢托尼,你的建议让我能够在 7u21 中正确地创建小程序;我认为这是向前迈出的一步,因为我正在通过浏览器签署和唤醒许多小程序,这些小程序超过 7u21。我不能在今天早些时候这样做。但几个小时后我就被困住了,事实上我还没有从我拥有的遗留应用程序中唤醒我的第一个第三方小程序(即在 JVM 1.6 或更早版本中工作正常)。

涉及的 applet,我对它们进行了签名,但我总是收到错误:SecurityException - “Bad applet class name”。我有一些小程序和调用它们的 html 代码,问题是我链中的第一个小程序(调用链中的任何其他小程序)的行为可能不像其他已签名的小程序正常运行(这些小程序来自用于培训的 Java 网站),此第 3 方小程序简单不会运行并抛出上述异常。 我的第三部分小程序我不知道它在内部做什么。抱歉,我可能会问一个没有源代码就不容易解决的特殊案例,但是,无论是什么想法,请相信告诉我任何想法。

此致

最佳答案

这是解释它的页面。

Oracle Code on Mixed code

您需要做的是让您的所有 jar 都在 list 文件中获得新的 TrustedLibrary 行。对我来说,这意味着重新编译旧代码。您可能只解压当前的 jar,然后重新解压包括 TrustedLibrary 行。

您还必须签署所有代码。不只是小程序。这意味着如果您有 3 个 jar ,那么所有 3 个 jar 中的所有代码也必须签名。

关于java - 无法使用 Java 7u21 启动小程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16083405/

相关文章:

Java - 获取字符串中子字符串之后的字符的最简单方法

asp.net - ASP.Net 与 SQL Server 中的数据安全

Java小程序drawString不工作

java卡从 ".cap file"反编译操作

java小程序是否可以将小程序制作成png文件

java - 如何获取与依赖 jar 捆绑在一起的可执行 javafx jar?

javascript - 从字符串形式的字节下载 PDF

Nimbus 外观中的 Java Swing Accordion

security - infinispan 9 '<eviction strategy="LRU"/>' isn' t 一个允许的元素

javascript - 我用我的 PHP 调用的数据文件被神秘地改变了。用户是否覆盖了它?