我分发了一个Windows桌面应用程序,它拥有由Verisign 3代码签名证书数字签名的所有可执行文件。对于绝大多数用户来说,这似乎很好。
但是,少数用户报告证书无效。他们说,它会产生消息“处理的证书链,但终止于不受信任提供程序信任的根证书”。这对应于错误代码CERT_E_UNTRUSTEDROOT (0x800B0109)。这也被报道在一台完全更新的Windows 7机器上.因此,我的证书大概是可以的,但是Windows有时不信任VeriSign证书。
为什么Windows有时不信任VeriSign?有什么东西我可以添加到我的安装程序(也签名),这将告诉Windows信任证书?
发布于 2012-11-15 16:16:19
Microsoft通过Windows Update推出的根证书经常更新,但这些证书被标记为“可选更新”。因此,并不是所有的用户都会安装它们,并且可能需要手动安装它们。这也适用于“完全更新”机器,因为自动安装通常被设置为只安装“重要更新”,而根证书更新不是。
根据桌面应用程序的类型,您在签名时也可能必须遵循某些规则。例如,与Windows安全中心交互的应用程序基本上需要与驱动程序相同的签名方法。也就是说,证书链与签名一起嵌入(/ac切换到signtool)。您可以获得适用于VeriSign证书这里的这里。
这个过程通常被称为交叉签署,这似乎是一个用词不当的过程。虽然这是获得驱动程序二进制或目录交叉签名的一个步骤,但关键的一步是Microsoft对驱动程序(或者更常见的是现在的目录文件)进行签名,这是实际的交叉签名。
https://stackoverflow.com/questions/13401184
复制相似问题