我是个人,而不是公司,我正在研究虚拟内核模式设备驱动程序。我知道我可以测试签名驱动程序并在测试模式下运行。但是我想免费分发我的驱动程序,但我没有资源通过 verisign 或 globalsign 购买签名,因为它非常昂贵,而且我没有通过这个驱动程序获得任何收益。
此外,对某些用户来说,测试签署驱动程序将是一项艰巨的任务。所以我想知道是否有任何解决方法可以在 64 位中使用没有签名的驱动程序?就像在兼容 32bit 的情况下运行它,或者可以代表用户自签名驱动程序的脚本。
所以现在的问题本质上是,如果我分发此过程中提到的所有 exe 并制作一个脚本来运行所有这些命令。那么驱动程序可以由用户使用脚本签名吗?
程序 :
1.执行Inf2Cat.exe /driver:"U:\MyDriver" /os:7_X64
2.在WDK中找到makecert.exe Makecert -r -pe -ss PrivateCertStore -n "CN=TestCertforWDK" TestCert.cer
3.使用WDK中的Signtool.exe对cat文件进行签名 Signtool sign /v /s PrivateCertStore /n TestCertForWDK /t http://timestamp.verisign.com/scripts/timestamp.dll "U:\MyDriver\MyDriver.cat"
4.使用WDK中的Signtool.exe对驱动进行签名 Signtool sign /v /s PrivateCertStore /n TestCertForWDK /t http://timestamp.verisign.com/scripts/timestamp.dll "U:\MyDriver\MyDriver.sys"
5.在测试机上,导入证书:certmgr.exe /add TestCert.cer /s /r localMachine root
6.将其添加到受信任的发布者列表 certmgr.exe /add TestCert.cer /s /r localMachinetrustedpublisher
7.验证驱动Signtool的标志 verify /pa /v MyDriver.sys
8.验证cat文件签名Signtool verify /pa /v /c MyDriver.cat MyDriver.inf