我可以在不禁用驱动程序签名的情况下安装带有测试证书的x64驱动程序吗?

4

我正在开发一个虚拟驱动程序,QA 需要在多台 Windows 7 机器上测试 x64 版本。我严格遵循了生成测试用证书的指示,但仍然遇到了一些问题。因此,我按照以下步骤进行了操作:

Makecert -r -pe -n "CN=TestCertForWDK" -ss "TestCert" mccert.cer

我已经在安装程序中添加了以下两行代码,以便在远程计算机上自动安装证书。

certmgr.exe -add mccert.cer -s -r localMachine root
certmgr.exe -add mccert.cer -s -r localMachine trustedpublisher

And

Inf2cat.exe /driver:D:\Projects\MyDrv\package\ /os:7_X64

最后,
signtool sign /a /v /s "TestCert" /n "TestCertForWDK" mydrv.cat
signtool sign /a /v /s "TestCert" /n "TestCertForWDK" mydrv.sys

顺便说一下,我最初尝试使用devcon安装。它报告“devcon成功”,但在设备管理器中标记有黄色感叹号(不是受信任的签名)。

后来,我尝试使用hdwwiz - 当我手动输入驱动程序的路径(拥有磁盘)时 - hdwwiz显示驱动程序具有签名,并且安装进行得很顺利,没有任何警告。但是之后,正如我已经提到的那样,由于无效签名(黄色“!”),该设备无法工作。

我在Winqual上有一个帐户,但驱动程序仍处于开发状态,我不想为提交付款。我做错了什么吗?是否可能使用我自己的makecert.exe生成的证书安装x64驱动程序,并且不需要在最终用户PC上禁用驱动程序签名(这对我来说是不可接受的)?


如果我没记错的话,您需要绕过“内核补丁保护”(KPP,非正式称为PatchGuard),才能在不禁用驱动程序签名的情况下安装带有测试证书的x64驱动程序。 - Göksenin Cakir
1个回答

6

不幸的是,您还需要将其交叉签名由微软进行。有关更多详细信息,请参见此处

即使您想使用自己的测试证书,您也需要使用BCDEdit工具进行更改。

bcdedit.exe {boot-entry-guid} testsigning on

这将允许您使用测试证书。这是使用测试证书的唯一方式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接