当前位置:  开发笔记 > 编程语言 > 正文

Java 9弃用SHA1证书,还是其他问题?

如何解决《Java9弃用SHA1证书,还是其他问题?》经验,为你挑选了1个好方法。

[ 更新 ] Oracle刚刚修改了加密路线图(https://www.java.com/en/jre-jdk-cryptoroadmap.html),他们不会弃用SHA-1进行协同编码:2017-03-14 Target date changed from 2017-04-18 to 2017-07-18. Narrowed scope from all SHA-1 usage: only TLS will be affected, *code signing will not not be affected at this time*.

这不会影响我在下面收到的正确答案,因为它将来会适用.

-

原帖:

试图运行我们的Webstart部署的Java应用程序JRE 9 ea 153,我得到以下弹出窗口:

在此输入图像描述

进一步查看详细信息,我发现证书仍然有效一段时间:

在此输入图像描述

因此,我想知道是否弃用SHA1是什么原因?

这当然听起来像是一个符合(业内其他人)的政策,但这个消息并不真正听起来是新手友好的(特别是如果它意味着面对最终用户),所以我不知道.

我找了一个路线图.这是我发现的,但我不确定我是否正确地正确解释了这一段:

Disable SHA-1 in certificate chains anchored by roots included by default in Oracle's JDK; local or enterprise CAs are not affected. Signed code that is timestamped before 2017-01-01 is not affected.

作为上述失败的原因.我非常感谢确认.

FWIW,我们的证书由CA颁发,我认为它与"企业"CA不同.

谢谢.



1> Timmeey..:

如果已签名的Jar旨在供最终用户使用,则2017年签署的SHA1包无法正常运行.

很久以前就宣布逐步淘汰SHA1.唯一的方法是安装本地CA或其他东西,但这不会发生在最终用户机器上(也不应该).

要为最终用户签署一个Jar,您需要从CA获得一个新的有效SHA-256证书,并重新签署任何使用旧版本签署的Jar,在2016年12月31日之后签署.无论如何,您的证书将在几个月内过期.

是否必须对您的罐子进行双重签名取决于您要定位的最旧的JVM版本.据我所知,> = 1.4.2支持SHA-256.如果你想定位甚至更旧的版本(当我开始编程java 1.5时已经被认为是OLD),你需要像双签名这样的东西.更多信息可以在这里和这里找到

"如何对一个罐子进行双重签名"可能是一个新话题,因为它与我认为的这个问题几乎无关.

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有