VeriSign Class 3证书不受Windows信任?

时间:2012-11-15 15:51:13

标签: windows code-signing digital-signature digital-certificate verisign

我发布了一个Windows桌面应用程序,其中包含由Verisign Class 3代码签名证书进行数字签名的所有可执行文件。对于绝大多数用户来说,这似乎工作正常。

但是少数用户报告证书无效。他们说它提供了消息“已处理的证书链,但终止于信任提供商不信任的根证书”。这对应于错误代码CERT_E_UNTRUSTEDROOT (0x800B0109)。这也是在完全更新的Windows 7机器上报告的。所以我的证书可能是正常的,但Windows有时不相信VeriSign证书。

为什么Windows有时不信任VeriSign?有什么东西可以添加到我的安装程序(也是签名),它会告诉Windows信任证书吗?

1 个答案:

答案 0 :(得分:8)

Microsoft通过Windows Update推出的根证书经常更新,但标记为“可选更新”。因此,并非所有用户都可以安装它们,并且可能需要手动安装它们。这也适用于“完全更新”的计算机,因为自动安装通常设置为仅安装“根证书”更新的“重要更新”。

根据桌面应用程序的类型,您在签名时可能还必须遵循某些规则。例如,与Windows安全中心交互的应用程序需要与驱动程序基本相同的签名方法。也就是说,证书链与签名一起嵌入(/ac切换到signtool)。您可以将MSCV-VSClass3.cer适用于VeriSign证书here

这个过程通常被称为交叉签名,这似乎是用词不当。虽然这是让您的驱动程序二进制文件或目录交叉签名的一步,但关键的一步是Microsoft签署驱动程序(或更常见的目录文件),这是实际的交叉签名。