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

Dal*_*ber 4 driver windows-7-x64 driver-signing

我正在开发一个虚拟驱动程序,QA需要在几台Windows 7机器上查看x64版本.我严格按照生成证书的说明进行测试,但我仍然遇到一些问题.所以,我已经完成了以下步骤:

Makecert -r -pe -n "CN=TestCertForWDK" -ss "TestCert" mccert.cer
Run Code Online (Sandbox Code Playgroud)

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

certmgr.exe -add mccert.cer -s -r localMachine root
certmgr.exe -add mccert.cer -s -r localMachine trustedpublisher
Run Code Online (Sandbox Code Playgroud)

Inf2cat.exe /driver:D:\Projects\MyDrv\package\ /os:7_X64
Run Code Online (Sandbox Code Playgroud)

最后

signtool sign /a /v /s "TestCert" /n "TestCertForWDK" mydrv.cat
signtool sign /a /v /s "TestCert" /n "TestCertForWDK" mydrv.sys
Run Code Online (Sandbox Code Playgroud)

顺便说一句,起初我尝试通过devcon安装.它报告"devcon成功",但设备管理器中的设备标有黄色感叹号(不受信任的签名).

后来,我尝试使用hdwwiz - 当我手动输入驱动程序的路径(有磁盘)时 - hdwwiz显示驱动程序有签名,安装过程没有任何警告.但在那之后,正如我已经提到的那样,由于签名无效,设备无法正常工作(黄色"!")

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

vcs*_*nes 6

不幸的是,你需要让微软交叉签名.有关详细信息,请参见此处

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

bcdedit.exe {boot-entry-guid} testsigning on
Run Code Online (Sandbox Code Playgroud)

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