我正在尝试在我们的公司工作站上预装一些用于医疗设备的 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 会显示添加新硬件向导,这需要管理员输入他们的凭据。如果我不这样做,设备将保持在无法识别的状态,如果我这样做 - 它工作正常。
我整天都在努力解决这个问题。任何帮助,将不胜感激!谢谢。