如何签名Windows 10设备驱动程序?

时间:2020-06-16 18:01:32

标签: windows winapi kernel usb driver

我已经为Windows 10编写了自定义设备驱动程序,并已按照Microsoft发行的构建+签名说明,使用发给我公司的EV证书正确签署了该驱动程序。

Drivers are correctly signed.

我最近升级到了最新的Windows 10版本,并且在此过程中,已重新启用了驱动程序签名强制。

但是,即使仍安装了EV证书签名的驱动程序,我在设备管理器中也会收到以下错误消息:

Device manager error

奇怪的是,我可以安装该驱动程序就可以了。 Windows 10不会提示我该驱动程序很危险,签名错误或未签名。但是,“设备管理器”仍然禁用错误代码为52的设备,如图所示。

我做错了什么吗?除了使用有效的EV证书签名外,Windows 10 / Microsoft是否还需要其他功能?我是否需要将驱动程序实际发送给Microsoft,以使它们获得批准?如果是这样,我该怎么做?

我可以使这些驱动程序在设备管理器中运行的唯一方法是禁用驱动程序签名强制实施,但是当我尝试将驱动程序分发给客户时,这不是一个可行的解决方案。

1 个答案:

答案 0 :(得分:2)

正如您所注意到的,Windows在安装驱动程序包时检查的签名要求与它在将.sys文件(内核模块)加载到内核时检查的要求不同。如果驱动程序包含.sys文件,则通常必须将其提交给Microsoft的Windows硬件开发人员中心仪表板门户以进行签名。这是微软关于此的公告:

https://techcommunity.microsoft.com/t5/windows-hardware-certification/driver-signing-changes-in-windows-10/ba-p/364859

如果您只能使用Windows附带的驱动程序(例如WinUSB),那将是首选,因为那些驱动程序使用的是已由Windows签名的内核模块,因此您所要做的就是满足获取驱动程序包的要求。已安装。

我在这里写了很多有关驱动程序签名的内容:

https://www.davidegrayson.com/signing/

相关问题