我有一个应用程序,我使用 thawte 颁发的代码签名证书对其进行签名和加盖时间戳,该证书具有中级授权机构 Thawte 代码签名 CA - G2。
签名没有问题(如文件属性中所示),并且您可以查看认证链,所以一切都没问题。
在大多数 PC 上,用户只需单击 .exe 文件即可运行,但在使用默认设置的 Windows 7 上,每次都会弹出“打开文件 - 安全警告”。它显示它已签名,发布者是我们的公司,用户可以验证这一点。这不是我们想要的。我们希望用户双击文件即可。我将我们的证书添加到 certmgr 中的“受信任的发布者”,然后将我们的证书添加到“受信任的根证书颁发机构”。我想我尝试了所有组合,这对我来说是有意义的。但我仍然没有得到想要的结果。
我经常使用 Google,花了将近 2 天的时间摆弄它,却毫无进展。我如何才能签署另一个文件,将其发送到计算机,并以同样便捷的方式运行它,就像它是由微软或其他大公司开发和发布的一样?
我需要一个适用于 Windows Vista 系列及更新版本所有操作系统的通用解决方案。
PS 我不想解锁文件、进行注册表黑客攻击或调整安全级别。我想我遗漏了有关安装证书的位置的一些信息。如果需要,请随时索取代码或设置,我很乐意提供。
答案1
除了将它们添加到“受信任的发布者”和“受信任的根证书颁发机构”的本地存储之外,您还必须在本地或域级别编辑组策略以允许信任。
对于使用代码签名证书的 SCUP/WSUS 更新,我在 /Administrative Templates/Windows Components/Windows Update 下使用 GPO 来“允许来自内部网 Microsoft 更新服务位置的签名更新”。
对于应用程序安装,它将位于不同位置。看起来它可能是计算机配置\Windows 设置\安全设置\公钥策略\证书路径验证设置。
看一眼: http://technet.microsoft.com/en-us/library/cc733026.aspx