小程序的Java 1.7.51 Internet限制

时间:2014-01-20 15:45:30

标签: java security applet self-signed restrictions

在过去的几个月里,我为一个学术项目开发了一个沙箱Java小程序。由于预算有限,我无法使用受信任的证书颁发机构对其进行签名。 随着Java 1.7.51的发布,我发现由于缺少签名,新的安全限制禁止执行applet。

到目前为止,我找到了两个解决这个问题的粗略解决方案:

  1. 要求用户将applet页面包含在他/她的例外列表中;
  2. 要求用户将Java安全级别设置为“中等”(当然,这是一种冒险的操作)。
  3. 有没有办法克服Java使用自签名小程序施加的限制而不要求用户更改安全设置?

    我会非常感谢你的回答,因为购买可靠证书的选择仍然很昂贵。

2 个答案:

答案 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

我阅读的帖子越多,我认为最好的解决方案是证书,但仍想分享此选项。