如果我创建一个签名的Java小程序,我可以在我想要的任何域上托管它吗?

时间:2014-01-22 17:17:20

标签: java applet code-signing ca

或者,当从特定域(即您作为CA身份验证的一部分使用的域)下载时,已签名的applet与之关联并仅被视为已签名 吗?

我的情况:我创建了一个applet,我提供下载作为工具,以便其他人可以在他们的网站上使用它。人们不会在我的网站上使用小程序,而是将其下载为zip并将其托管在他们的网站上。 (显然,我的应用程序针对开发人员和其他HTML精明的人)。到目前为止,applet已经未签名,但是由于Oracle基本上已经使用上次更新杀死了未签名的applet,我正在考虑签名。但是我不想经历签名的麻烦和费用,只是发现签名只有在我的网站上使用applet时才有效。

编辑澄清:我不打算自签。我打算使用CA.

2 个答案:

答案 0 :(得分:4)

是。如果是自签名的depending on your security level,您可能会收到警告。如果由受信任的机构签名,则不会发出警告。

答案 1 :(得分:2)

答案实际上是合格的“是”。

Missing Codebase manifest attribute for:xxx.jar警告我们,在最近的安全更新中,如果Jar的清单中缺少Codebase属性,则会引入更改以产生警告。

JAR File Manifest Attributes for Security: Codebase Attribute详细介绍:

  

Codebase属性用于将JAR文件的代码库限制为特定域。使用此属性可防止某人出于恶意目的在其他网站上重新部署您的应用程序。

     

注意:如果Codebase属性未指定安全服务器(例如HTTPS),则存在一些风险,即您的代码可能会在中间人(MITM)攻击方案中重新使用。

     

将此属性设置为应用程序的JAR文件所在的域名或IP地址。还可以包括端口号。对于多个位置,请使用空格分隔值。星号(*)只能在域名的开头用作通配符下表显示了示例值及其匹配的内容。

由此我猜你可以添加Codebase属性来禁止客户端警告,但前提是他们将applet部署在他们网站的特定位置。

我不确定客户是否可以简单地“热链接”到您网站上的小程序。鉴于我不是安全专家,我几乎可以预期会有一些神秘的方式被滥用。


鉴于最近的安全性收紧,如果Oracle决定在应用程序之前指定HTTPS服务器,我不会感到惊讶。将在不降低插件安全性的情况下启动到危险级别,并且只能在站点之间使用扩展(不是主app./applet)。