[英]Java 9 deprecating SHA1 certificates, or another issue at work?
[ 更新 ]甲骨文刚刚修改了加密路线图( 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*.
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*.
这无论如何都不会影响我在下面收到的正确答案,因为它将来会适用。
-
原帖:
试图在JRE 9 ea 153
上运行我们的Webstart部署的Java应用程序,我得到以下弹出窗口:
进一步查看详细信息,我发现证书仍然有效一段时间:
因此,我想知道是否弃用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不同。
谢谢。
如果已签名的Jar旨在供最终用户使用,则2017年签署的SHA1包无法正常运行。
很久以前就宣布逐步淘汰SHA1。 唯一的办法就是安装本地CA或其他东西,但这不会发生在最终用户机器上(也不应该)。
要为您的最终用户签署一个Jar,您需要从CA获得一个新的有效SHA-256证书,并重新签署任何使用旧版本签署的Jar,在2016年12月31日之后签署。 无论如何,您的证书将在几个月内过期。
是否必须对您的罐子进行双重签名取决于您要定位的最旧的JVM版本。 据我所知,> = 1.4.2支持SHA-256。 如果你想定位甚至更旧的版本(当我开始编程java 1.5时已经被认为是OLD),你需要像双签名这样的东西。 更多信息可以在这里和这里找到
“如何对一个罐子进行双重签名”可能是一个新话题,因为它与我认为的这个问题几乎无关。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.