对于我签名的驱动程序,“Windows 无法验证数字签名”——怎么办?
Posted
技术标签:
【中文标题】对于我签名的驱动程序,“Windows 无法验证数字签名”——怎么办?【英文标题】:"Windows cannot verify the digital signature" for a driver I signed — what to do? 【发布时间】:2011-08-24 14:48:58 【问题描述】:我有一个内核模式驱动程序,我必须在 64 位 Windows 7 上安装它。它需要进行数字签名。我使用dseo13b.exe
对其进行了数字签名。但是当我加载驱动程序时,我在系统事件日志中收到一条错误消息
由于以下错误,驱动程序无法启动:Windows 无法验证此文件的数字签名。最近的硬件或软件更改可能安装了签名不正确或损坏的文件,或者可能是来自未知来源的恶意软件。
我不想使用测试签名模式。我该如何解决这个问题?我需要从 Microsoft 获得证书吗?
我已经开发了驱动程序,现在正试图让它在 64 位机器上运行。
【问题讨论】:
*** 在这里可能更有帮助——我们通常不会在这里编写驱动程序。 :P 嗯 - 权限链是否完整且有效? 【参考方案1】:签名的全部目的是保证驱动程序是由 Microsoft 信任的来源发布的。这意味着单独的签名对您没有帮助,您的密钥必须由 MS 签名才能建立信任链。
【讨论】:
【参考方案2】:您需要购买 Authenticode 证书(来自 Verisign)才能正确签署适用于 Windows x64 的驱动程序。请参阅以下链接:
http://msdn.microsoft.com/en-us/windows/hardware/gg487317
http://msdn.microsoft.com/en-us/windows/hardware/gg487328
证书可以在这里购买:http://www.verisign.com/code-signing/microsoft-authenticode/
【讨论】:
【参考方案3】:在以下链接中了解更多信息。
http://winprogger.com/cross-signing-kernel-mode-drivers/
http://winprogger.com/certificate-for-kernel-mode-driver-signing/
【讨论】:
【参考方案4】:没有。您不需要 MS 签名。您确实需要一个链接到 MS 信任的东西的代码签名证书。可以向您出售证书的供应商不止一家。
试试这个: 1) 确保 windows 已完全更新。这实际上解决了我的一台电脑上的问题。 2) 查看https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/0b00c9d4-dff9-4fbe-b741-768c9b39349c/practical-windows-code-and-driver-signing-discussion?forum=wdk
这是一个深入(带有参考)的文档。
【讨论】:
同时您确实需要他们签名 :( ,请参阅***.com/questions/52778961/…【参考方案5】:摆脱“Windows 无法验证数字签名”消息的唯一可靠且有效的方法是通过 Windows 启动选项禁用数字签名强制。该解决方案是暂时的并且在当前 Windows 会话期间保持活动状态,但可以在每次启动期间再次激活。以下是每个 Windows 版本的详细说明:http://freewisdoms.com/windows-cannot-verify-the-digital-signature-code-52-driver-fix/
【讨论】:
【参考方案6】:理想情况下,您应该拥有 Microsoft 信任的数字签名驱动程序。但是,有一种解决方法,但不推荐。
Windows 8 及更高版本
-
在系统设置中搜索并打开恢复。
选择高级启动和立即重启。
在引导过程中,在高级引导选项中,选择禁用驱动程序签名强制。
注意:此设置将应用于单个用户会话。
Windows 7
-
重启电脑。
一直按 F8 直到显示 Advanced Boot Options 菜单。
选择禁用驱动程序签名强制。
来源:How to Fix “Windows cannot verify the digital signature (Code 52)” Driver Problem?
【讨论】:
以上是关于对于我签名的驱动程序,“Windows 无法验证数字签名”——怎么办?的主要内容,如果未能解决你的问题,请参考以下文章
对于使用progisp软件进行ISP编程时进入不了编程模式的解决方法