我们刚刚从SHA-1切换到SHA-2代码签名证书。 (作为背景信息,我们使用signtool.exe使用COMODO代码签名证书在Windows上签署.exe和.xap文件。)我们使用经过认证的时间戳来执行此操作,以确保Windows在代码签名证书后始终信任代码签名到期。代码签名时是否/如何避免SHA-1签名的时间戳?
现在我注意到时间戳证书仍然是一个SHA-1证书,当使用http://timestamp.comodoca.com/authenticode时。 (详细信息:这是df946a5 ...与主题'CN = COMODO时间戳签名者,O = COMODO CA有限公司,L =索尔福德,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 ......。)
试过问科莫多支持吗? – MrTux
调用SignTool.exe时添加/ td SHA256标志,如下所述。这适用于Comodo时间戳服务器。 –