因此,我们安装了 Java 7u21 版本,该版本旨在加强小程序的安全性。不幸的是,它太紧了,以至于我们的小程序不再运行。不好。
有趣的是,它只是在我们使用 JWS 操作时才停止工作。如果我们从标准网页将其作为标准小程序启动,则一切正常。
在 JWS 模式下,我们至少会在反射和java.lang.Thread.setDefaultUncaughtExceptionHandler
.
证书看起来不错。
Oracle 的发行说明没有提供与 JWS 相关的任何内容。
因此,我向社区提出的问题是:是否有人对此有想法或(甚至更好)解决方案?
与给定建议/评论相关的其他信息:
该小程序由全球数百个第三方客户端运行,因此很遗憾无法更改安全策略。客户可以重现该问题。但是,我可以确认更改策略文件可以解决问题。
当我从 Eclipse 启动的 Tomcat 运行小程序时(当然没有签名的小程序),它会按预期在浏览器中显示警告通知。作为一个容易上当受骗的人,我允许小程序运行,因为它是从我自己的开发环境中启动的。这仍然会导致安全失败。
我已经考虑过这是否是 Java 中的错误,但我想看看是否有其他人看到同样的问题。我想我们都知道修复错误的 Oracle 周转时间并不总是最好的......
感谢您的任何意见。
非常感谢托尼,你的建议让我能够在 7u21 中正确地创建小程序;我认为这是向前迈出的一步,因为我正在通过浏览器签署和唤醒许多小程序,这些超过 7u21。我今天不早点做。但是我被困了几个小时,事实上我还没有从我拥有的遗留应用程序中唤醒我的第一个第三方小程序(即在 JVM 1.6 或更早版本中工作正常)。
涉及的小程序,我对它们进行了签名,但我总是收到错误:SecurityException - “Bad applet class name”。我有一些小程序和调用它们的 html 代码,问题是我的链中的第一个小程序(调用链中的任何其他小程序)的行为可能不像其他已签名的小程序正确执行(这些小程序来自用于培训的 java 网站),这个简单的第 3 方小程序不会运行并抛出上述异常。我的第三部分小程序我不知道它在内部做什么。抱歉,我可能会要求没有源代码就不容易解决的特殊情况,但是,请相信告诉我任何想法,不管它是什么。
此致