Java 7u51不接受带有自签名证书的JNLP文件?

42

我在网上看到Java版本7u51(将在2014年1月发布)将不再接受我自签名的Java Webstart应用程序。

这是真的吗?

如果是真的,那我有没有机会为我的JNLP应用程序构建解决方法,以便即使在2014年1月之后我也能启动该应用程序?

我已经看到在7u40中删除了抑制由于使用自签名证书而导致的安全警告的选项。

8个回答

30

是的,这是真的。Oracle的这篇博客文章详细介绍了相关细节。

据我所知,您有三种继续工作的选择:

  1. 使用受信任的证书签署应用程序
  2. 使您的最终用户配置其计算机以信任您的自签名应用程序
    • 通过部署规则集(Oracle的意图是DRS仅在公司环境中使用,您可以通过集中管理技术推送此配置更新)
    • 通过异常站点列表(我认为这旨在类比于DRS,但适用于没有集中管理的个人最终用户)
  3. 让您的用户将其安全滑块从高(默认值)降至中等

请参见我的提问关于获取这些更新的预发布版本以进行测试。


2
嗨,我是上面博客的作者之一。对于互联网范围内的分发,来自有效CA的证书是理想的选择。对于小型已知社区,可以将您的证书分发给您可以联系到的人,客户随后可以导入这些自签名证书。大型组织这样做是为了充当自己的CA,对于像大学课堂中的小团体这样的小组也是可以的。 - Costlow
1
更新51的发布说明指出:在高安全设置中阻止自签名和未签名的小程序。这意味着当安全设置为中等时,它将不会被阻止。 - NickL
1
@NickL 感谢您指出这一点,我已经添加了有关安全滑块以及新的例外站点列表功能的注释。请注意,我个人尚未对它们进行测试。 - Matt McHenry
1
看起来使用异常站点列表,自签名应用程序将在高级别上被阻止! - Jochen Bedersdorfer
通过谷歌,我刚刚发现了@Costlow的另一个博客,其中回答了我的问题,请参见https://blogs.oracle.com/java-platform-group/entry/self_signed_certificates_for_a。 - Henno Vermeulen
显示剩余5条评论

15

Oracle刚刚宣布一个名为“异常站点列表”的新功能将在7u51中提供。

如果它意味着我所想象的那样,那么目前正在自我签署其jar文件的内部应用程序可以要求其用户将该应用程序列入白名单,而无需用户执行任何“复杂”的操作,如导入证书(例如)。

更新:

Java 7u51刚刚发布,我可以确认异常站点列表解决方案非常简单。只需转到Java控制面板->安全->编辑站点列表,并将自签名JNLP应用程序的URL添加到位置列表中。


3

这只适用于 Windows 操作系统。

在 Windows 中,前往 Java 配置 "java configure",选择 "Security" 选项卡,然后选择 "Edit Site List",将您的自签名 URL 添加到列表中。

有时候您需要将 Java 应用程序的完整 URL 添加到列表中才能使其正常工作,不能只添加 https://xxx.abc.com,而应该添加 https://xxx.abc.com/application_blah_blah

添加完 URL 后,在浏览器中输入该 URL 以重启 Java 应用程序,即可使其正常工作。


2

这是真的吗?

不清楚,但我也听说过同样的事情。你的消息来源是什么?

如果这是真的,我有没有机会为我的JNLP应用程序构建一个解决方法,以便我能在2014年1月之后启动该应用程序?

在这种情况下,部署代码的唯一现实方法是使用来自认证机构的数字证书进行签名(即签名,但不是自签名)。

任何“解决方法”都将是安全漏洞。因此,如果您找到了一个,请告诉我们,以便我们可以提出错误报告并进行修复。


1

1

对我来说,自签名网站只有在将安全设置更改为中级时才能使用。


这可能不是最“安全”的方法来使其工作,但对于本地局域网来说,它很快... - Wyrmwood

1
我有一个自签名的应用程序,只需要运行到学期末(12月),所以我不会受到1月截止日期的影响。但是,我们甚至在早期版本中也遇到了问题。这只是上周开始的(可能是由于某种自动更新)。JRE为版本40。
我更改了清单文件,包括所需的权限和代码库属性,然后重新签署了jar文件,但它仍然会在我们学校出现安全阻止。
有人能建议我应该采取其他步骤吗?商业证书是唯一的选择吗?
谢谢, 尼娜

0

希望这不会太超出范围,但通常情况下,使用场景是一个具有非常旧的Java远程控制台的服务器。

我已经为来自IPMI / IMM / ILO / IRMC / IDRAC / KVM服务器的JNLP文件构建了一个便携式JAVAWS启动器,应该可以在相当多的旧服务器上工作。我的便携式启动器中的安全设置已经预设为支持史前设备。

您可以在https://github.com/netinvent/ipmi-starter找到该项目。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接