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

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上有一个帐户,但驱动程序仍处于开发状态,我还不想为提交付费。难道我做错了什么?是否可以使用我自己生成的证书安装 x64 驱动程序并且makecert.exe不禁用最终用户 PC 上的驱动程序签名(这对我来说是不可接受的)?

4

1 回答 1

6

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

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

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

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

于 2011-04-18T05:17:44.250 回答