繁体   English   中英

第三方库中的java applet AccessControlException

[英]java applet AccessControlException in 3rd party library

我在Java小程序中使用第3方库(jar),但出现此错误:

java.security.AccessControlException: access denied ("java.util.PropertyPermission" "*" "read,write")
    at java.security.AccessControlContext.checkPermission(Unknown Source)
    at java.security.AccessController.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPropertiesAccess(Unknown Source)
    at java.lang.System.getProperties(Unknown Source)
    at sfs2x.client.core.sockets.TCPSocketLayer.initNetty(TCPSocketLayer.java:63)
    at sfs2x.client.core.sockets.TCPSocketLayer.<init>(TCPSocketLayer.java:59)
    at sfs2x.client.bitswarm.BitSwarmClient.init(BitSwarmClient.java:90)
    at sfs2x.client.SmartFox.initialize(SmartFox.java:148)
    at sfs2x.client.SmartFox.<init>(SmartFox.java:127)
    at bfwd.RedemptionOnline.Client.RedemptionOnlineApplet.init(RedemptionOnlineApplet.java:29)
    at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.init(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

我正在开发服务器上对此进行测试,并尝试连接到本地主机。 为什么现在会出现此错误?将来如何预防?

好的,我什至还对我的jar进行了自签名,但是它仍然出现此错误。

at sfs2x.client.core.sockets.TCPSocketLayer.initNetty(TCPSocketLayer.java:63)

SFS2X似乎是一个游戏服务器。 Netty是一个TCP / IP服务器。 您为什么要在客户端上运行游戏服务器? 我不确定您的网页访问者是否会对此感到满意。 到底有什么功能要求? 您是否考虑过让您的网络服务器完成这项工作?

无论如何,您都需要对applet进行签名才能使其生效。 未签名的小程序具有非常严格的安全性规则(例如,将整个“我的文档”放下并发送到服务器非常容易)。 基本上,您需要将代码发送给某个RSA签名公司,并让他们检查该代码,并取回随小程序一起提供的一些RSA证书,以便客户知道它是受信任的软件。

您还可以使用有效期仅6个月的自制证书在applet上签名。 但是,当要加载您的applet时,最终用户仍然会收到安全警告。 要求最终用户确认这是否是真正可信的软件,是否可以执行。 但是,您仍然需要将小程序主init()包装在AccessController#doPrivileged()

public void init() {
    AccessController.doPrivileged(new PrivilegedAction<Void>() {
        @Override public Void run() {
            // Put your original init() here.
        }
    });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM