同一个证书在 Windows 上既显示有效,又显示无效

同一个证书在 Windows 上既显示有效,又显示无效

我尝试启动两个不同的软件,它们都使用完全相同的证书进行签名。其中一个程序可以正确启动,而另一个程序每次都要求输入管理员凭据,因为它没有正确签名。

既然使用完全相同的证书,这怎么可能呢?

参见下图:

有效證書:https://i.stack.imgur.com/C1O3U.jpg

证书无效:https://i.stack.imgur.com/Np5hx.jpg

答案1

基于@Jonathan的评论:

在您的“有效”情况下,程序签名中嵌入的时间戳在签名证书的 notBefore 和 notAfter 有效日期范围内。签名仍然有效,并且用于签名的证书当时也有效,因此一切都很顺利。(如果 codesign 需要仍然有效的证书,那么您必须每 15 个月左右更换一次整个操作系统,因为签名证书已过期)。

在第二种情况下,证书似乎在到期日期之后被用于代码签名,因此签名/证书被视为无效。

下面的屏幕截图显示了我的计算机上一个随机 DLL 的签名时间(签名时间为 2015-01-25T21:47:53),该证书现已过期,但 CertUI 显示一切正常。

查看证书已过期的数字签名详细信息

如果我点击“详细信息”选项卡上的“复制到文件”按钮,然后在资源管理器中双击该文件,它现在将显示该文件已过期,因为它不再具有来自数字签名详细信息对话框的上下文,说明应使用什么日期进行评估(因此它选择当前日期/时间)

在此处输入图片描述

相关内容