签署jar之后我可以在任何HTTP域上托管该applet而不会出现安全风险弹出窗口吗?

时间:2015-11-30 15:19:49

标签: java security applet

我有一个 Java applet ,我希望我的最终用户能够运行而不需要任何安全弹出窗口。小程序需要文件系统访问权限。我有两个问题: -

  1. 有没有办法(通过JNLP或其他)使用自签名证书来访问文件系统而不会在每次想要使用我的应用程序/重新启动浏览器时都有丑陋的安全弹出窗口?有没有办法坚持用户的决定? (我尝试通过我的applet下载.cer文件,并将其安装在JRE_HOME\lib\security\cacerts中,但是,它需要管理员权限,至少在Windows上,所以对我来说不是一个选项。)
  2. 让我们说,我可以为一个域(http://www.domain1.com)购买代码签名证书,我想在不同的域(http://www.domain2.com,HTTP,而不是HTTPS)上使用我签名的applet,它是否会是否足以完全停止安全警告?或者,仍然会有关于错误域名或网站不是HTTPS的安全警告?
  3. 有人可以指导我它是如何运作的吗?

1 个答案:

答案 0 :(得分:2)

代码签署证书正好 - 他们签署代码。

所以是的,您可以在多个域和所有用户上发布和运行该applet - 无论他们从哪个站点加载该applet - 都会提示相同的证书,说明谁编写了该应用程序并被问到是否他们相信等等。

但是你会(从不?)绕过安全弹出窗口。因为文件系统访问 是一个严重的安全风险(至少对于他们在浏览器前面使用您的applet访问网站的人...)

哦 - 忽略了你的第一个答案:从Java角度看,自签名已经死了。

来自Java Applet & Web Start

  

通过在其系统上维护最新版本的JRE,以及需要由可信证书颁发机构签署的代码(而不是自签名或未签名的代码),可以更好地保护用户。