【发布时间】:2017-01-01 19:05:42
【问题描述】:
2014 年,我从 StartSSL 购买了一个二级代码签名证书,用于对我的二进制文件进行数字签名。该证书刚刚过期,我实际上正在尝试获取新证书。然而,在一个不相关的事件中,我在虚拟机中运行了一个我签名的安装程序,当 Windows 显示 UAC 对话框的“未验证的发布者”变体时,我有点……恼火。
当我查看数字签名属性时,我看到:
当然证书已经过期,但是为什么文件(在有效期内签名的)突然无法验证?我还没有看到其他软件会发生这种情况,例如,如果我查看 Office 2003 安装程序的旧签名副本,它不会抱怨签名无效并且有效期已在十年前到期。
这是为什么?坦率地说,我现在想知道首先购买证书的意义是什么,并认真考虑取消正在进行的更换。当他们使自己无效时,似乎有点毫无意义。或者这是2级和3级之间的区别? (Class 3 是我现在想要掌握的版本)
【问题讨论】:
-
也许this explains it? "更新:并非所有发布者证书都允许时间戳以提供无限期的生命周期。如果发布者的签名证书包含生命周期签名者 OID (OID_KP_LIFETIME_SIGNING 1.3.6.1.4.1.311.10.3.13 ),当发布者的签名证书过期时,签名将失效,即使签名带有时间戳。”
-
哈利,谢谢你的评论。这实际上似乎是答案(证书具有“代码签名(1.3.6.1.5.5.7.3.3)”和“终身签名(1.3.6.1.4.1.311.10.3.13)”扩展密钥使用标志,而我拥有的较旧的 Comodo 证书没有任何“扩展”使用标志,并且似乎没有自我过期)。如果您想将此添加为答案,我可以“标记”它,否则我将自己添加一些屏幕截图。再次感谢!
标签: windows sign authenticode