gpt4 book ai didi

security - 签名的小程序可以与它们所源自的不同主机连接吗?

转载 作者:行者123 更新时间:2023-12-02 19:34:04 25 4
gpt4 key购买 nike

我需要一个小程序来打开套接字并与监听的服务器进行通信小程序下载到的本地主机(最终用户计算机)。

与我读到的有关小程序安全性的内容相反,似乎甚至签名的小程序无法打开到下载它们的不同主机的套接字(在同一台机器上它可以正常工作)

我已经使用 -selfcert 认证了该小程序,并使用 jarsigner 对其进行了签名,并且无论何时它尝试打开一个到不同主机的套接字,我得到:

Java.lang.Exception:java.security.AccessControlException:访问被拒绝(java.net.SocketPermission 127.0.0.1:9999 连接,解析)

我什至尝试更改 Java 策略文件,尽管使用签名的小程序不需要这样做:

授予 codeBase "http://applethost:8080/socket"{
权限 java.security.AllPermission;
权限 java.lang.RuntimePermission "usePolicy";
};

sigend 小程序有什么用,它们可以连接到不同的主机吗?

最佳答案

是的,当您加载小程序时,如果您选择接受其证书并信任它,则会授予它 AllPermission,其中包括 SocketPermission。我之前编写了一个签名的小程序,它连接到加载它的主机以外的主机。您可以尝试暂时更改您的 java 策略文件以仅具有

grant {
permission java.security.AllPermission;
};
  • 查看您的策略文件,看看它是否定义了任何其他policy.url 位置,也许它们会产生干扰。
  • 也许检查您的浏览器设置是否有 JavaScript。
  • 确保您接受该小程序的证书并将其安装到您的站点证书列表中。
  • 确保您拥有的 grant codeBase 行与小程序 list 中的代码库相同。
  • 在尝试连接之前,您可以尝试打印出您的小程序拥有的权限列表。
  • 您可以尝试在小程序内以编程方式授予 AllPermission。

关于security - 签名的小程序可以与它们所源自的不同主机连接吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/608387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com