在过去的几个月里,我为一个学术项目开发了一个沙箱Java小程序。由于预算有限,我无法使用受信任的证书颁发机构对其进行签名。 随着Java 1.7.51的发布,我发现由于缺少签名,新的安全限制禁止执行applet。
到目前为止,我找到了两个解决这个问题的粗略解决方案:
有没有办法克服Java使用自签名小程序施加的限制而不要求用户更改安全设置?
我会非常感谢你的回答,因为购买可靠证书的选择仍然很昂贵。
答案 0 :(得分:2)
有没有办法克服Java使用自签名小程序施加的限制而不要求用户更改安全设置?
简短的回答,没有。答案很长,没有。
答案 1 :(得分:2)
它不是一个真正的解决方案,但对最终用户来说可能更方便一些: 编写一个小程序(作为jar文件或批处理),将您的站点添加到例外列表中。这个小程序,你提供给用户,无法执行你的applet。它只需要执行一次。如何做到这一点的方法是here。
控制异常站点列表的文件存储在用户的文件中 部署位置,如部署配置中所述。上 Windows 7的位置是 C:\ Users \用户名\ AppData \ LocalLow \太阳\的Java \部署\安全\ exception.sites。 格式是每行一个站点。
如果你觉得这对用户来说真的不值得信任,你可能是对的;-)谁执行从互联网上下载的文件?您还可以向页面添加一个小描述,用户可以从命令行执行它。对于Windows,它希望:
mkdir %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\security
echo http://www.carlos.com >> %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\security\exception.sites
我阅读的帖子越多,我认为最好的解决方案是证书,但仍想分享此选项。