【发布时间】:2016-12-05 22:18:37
【问题描述】:
我们的双重签名软件未安装在较旧的 Windows 7 操作系统版本上。
安装错误是: Windows 无法验证此设备所需驱动程序的数字签名。最近的硬件或软件更改可能安装了签名不正确或损坏的文件,或者可能是来自未知来源的恶意软件。 (代码 52)
我们的代码签名证书最近更新为 SHA256。
我的研究发现,我必须对二进制文件进行双重签名,这样签名才能在不支持 SHA-256 的旧版 Windows 上验证。
感谢本网站的贡献者,我能够修改我们现有构建脚本的所有组件以成功实现双签名二进制文件。
它们确实安装在多个 Windows 10 操作系统版本和带有 SHA-256 证书安全更新的 Windows 7 中。 如果没有更新,它们不会安装在 Windows 7 操作系统中。
我们的构建机器是 32 位 Win 7,所以我使用 VS 2015 附带的 8.1 Windows 工具包中的 x86 版本 signtool.exe,它的版本是 6.3.9600.17298
我发现有关 Windows 7 的信息存在冲突,并且它能够安装双签名 CAT 文件。
所以我正在寻找一种方法来在所有版本的 Windows 7 和 10 上安装代码,而不管它们的 Windows 更新状态如何。 (一些客户不定期更新操作系统,而是更喜欢保持这种状态)
更新:我能够将我们的应用程序和驱动程序安装到较旧的 Windows 7 操作系统版本。结果发现代码签名证书没有正确设置以允许双重签名。
我必须将证书重新颁发为带有 SHA1 根的 SHA256 以进行代码签名。
【问题讨论】:
-
您的更新是答案吗?如果是这样,您可以在下面提供它而不是对您的问题进行编辑
标签: code-signing