我们刚刚从 SHA-1 切换到 SHA-2 代码签名证书。(作为背景信息,我们使用 COMODO 代码签名证书在 Windows 上使用 signtool.exe 对 .exe 和 .xap 文件进行签名。)我们使用经过认证的时间戳来执行此操作,以确保 Windows 在代码签名证书之后继续信任代码签名过期。
现在我注意到时间戳证书仍然是 SHA-1 证书,当使用http://timestamp.comodoca.com/authenticode时。(详细信息:它是 df946a5... 主题为 'CN=COMODO Time Stamping Signer,O=COMODO CA Limited,L=Salford, S=Greater Manchester,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 ...)