我正在尝试在我们的公司工作站上预装一些用于医疗设备的USB驱动程序。不幸的是,这些驱动程序没有签名。根据在这里和其他地方进行的一些研究,我使用我创建的证书自行签署了这些驱动程序:
makecert -r -pe -n "CN=Self Root CA" -b 01/01/2006 -e 01/01/2099 -eku 1.3.6.1.5.5.7.3.3,1.3.6.1.4.1.311.10.3.6 -sv selfcert.pvk selfcert.cer
我将证书添加到“受信任的根CA”和“受信任的发布者CA”并签署了驱动程序:
signtool sign /f selfcert.pfx /p password /uw /t http://timestamp.verisign.com/scripts/timstamp.dll /v C:\gendex\fusiondexis.cat
我添加了'/ uw'参数,因为“Windows系统组件验证”(1.3.6.1.4.1.311.10.3.6)和“代码签名”(1.3.6.1.5.5.7.3.3)存在于证书,因此似乎是合适的。
然后我用signtool验证了签名:
signtool.exe verify /pa /v /c C:\gendex\fusiondexis.cat C:\gendex\fusiondexis.inf
驱动程序文件被复制到'C:\ gendex',我更新了注册表项'DevicePath',以便在搜索驱动程序文件时包含此路径。但是,当我插入设备时,Windows会显示“添加新硬件向导”,这需要管理员输入其凭据。如果我不这样做,设备将保持无法识别的状态,如果我这样做 - 它可以正常工作。
我一直在试图弄明白这一整天。任何帮助,将不胜感激!感谢。
答案 0 :(得分:1)