我需要一个小程序来打开一个套接字并与监听的服务器进行通信
小程序下载到的本地主机(最终用户机器)。
与我所读到的有关小程序安全性的内容相反,似乎即使是已签名的小程序
无法打开到下载它们的不同主机的套接字(在同一台机器上它完美地工作)
我已经使用 -selfcert 认证了小程序,使用 jarsigner 对其进行了签名,并且仍然,无论何时
它试图打开一个到不同主机的套接字,我得到:Java.lang.Exception: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:9999 connect,resolve)
我什至尝试更改 Java 策略文件,尽管使用签名的小程序不需要这样做:grant codeBase "http://applethost:8080/socket" { permission java.security.AllPermission; permission java.lang.RuntimePermission "usePolicy";};
与 sigend applet 有什么关系,它们是否可以连接到不同的主机?
最佳答案
是的,当你加载你的小程序时,如果你选择接受它的证书并信任它,它被授予 AllPermission,其中包括 SocketPermission。我之前写了一个签名的小程序,它连接到一个主机而不是加载它的主机。您可以尝试临时更改您的 java 策略文件
grant {
permission java.security.AllPermission;
};
关于security - 签名的小程序是否可以连接到不同的主机?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/608387/