1

我有一个自签名小程序,它运行良好,直到 jre 7u21 出现。

现在我在调用 java.net.ProxySelector.setDefault 时得到以下 AccessControlException:

Caused by: java.security.AccessControlException: access denied
("java.net.NetPermission" "setProxySelector")
        at java.security.AccessControlContext.checkPermission(Unknown Source)
        at java.security.AccessController.checkPermission(Unknown Source)
        at java.lang.SecurityManager.checkPermission(Unknown Source)
        at sun.plugin2.applet.FXAppletSecurityManager.checkPermission(Unknown Source)
        at java.net.ProxySelector.setDefault(Unknown Source)

为了测试,我尝试删除此调用,但其他 AccessControlExceptions 开始弹出。显然 7u21 对小程序的安全模型进行了重大更改。

我一直认为,如果用户接受小程序的数字签名,则不存在安全限制。7u21 现在表示即使签名的小程序也可以在沙盒模式下运行,而无需明确指定何时是这种情况。(7u21 发行说明)。我在 Java 控制面板中的安全级别滑块设置为中等(最低级别)。任何建议如何解决这个问题?

更新:我通过添加安全标签解决了它

<security>
    <all-permissions/>
</security>  

到小程序的 jnlp 文件(小程序通过 dtjava 部署)。它现在在 7u21 下运行没有问题。

4

0 回答 0