我们只是从SHA-1切换到SHA-2代码签名证书。(作为背景信息,我们使用COMODO代码签名证书在Windows上使用signtool.exe对.exe和.xap文件进行签名。)我们使用经过认证的时间戳进行此操作,以确保Windows在代码签名证书之后继续信任代码签名。到期。
现在,我注意到使用http://timestamp.comodoca.com/authenticode时,时间戳证书仍然是SHA-1证书。(详细信息:这是df946a5 ...,主题为“ CN = COMODO时间戳签名者,O = COMODO CA Limited,L = Salford,S =大曼彻斯特,C = GB”。)
(在Windows上,可以通过签名的.exe查看该证书,然后在其“浏览器属性”对话框中转到“数字签名”选项卡,选择签名并单击“详细信息”,然后在“数字签名详细信息”对话框中单击计数器签名,然后单击“详细信息”,然后在第二个“数字签名详细信息”对话框中,单击“查看证书”。如果该证书的“签名哈希算法”为“ sha1”,则该证书为SHA-1证书。)
这会是一个问题吗?换句话说,在我们当前的代码签名证书过期之后,并且在Microsoft Windows将SHA-1视为损坏的算法之后(最晚在2020年),我们当前的签名是否仍然受信任?还是Windows会说:“时间戳在代码签名证书的有效范围内,但是时间戳是使用SHA-1证书签名的,所以我将不信任该时间戳,因此将不信任此签名”?
我们可以/应该使用其他服务吗?(不是Verisign的http://timestamp.verisign.com/scripts/timstamp.dll,因为他们仍然使用SHA-1时间戳证书,即6543992 ...)
更新:在2017年1月1日之前看起来还可以。
可能,但是由于这篇文章,我发现了如何获取SHA-256时间戳证书。我只找到一个可以做到这一点的时间戳服务器:http : //timestamp.globalsign.com/?signature=sha2
该signtool / TD标志也很重要(和不良记录)。
像这样签名:
signtool sign /fd SHA256 /tr http://timestamp.globalsign.com/?signature=sha2 /td SHA256 /a filename.exe
生成带有代码签名证书和带有SHA-256签名哈希算法的时间戳证书的可执行文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句