我是个人,而不是公司,我正在研究一个虚拟内核模式设备驱动程序。 我知道,我可以testing签署一个驱动程序,并在testing模式下运行。 不过,我想免费分发我的驱动程序,但是我没有资源通过verisign或globalsign签名签名,因为它非常昂贵,而且我也没有通过这个驱动程序赚取任何东西。
另外testing签署一个驱动程序对于一些用户来说将是一项艰巨的任务。 所以我想知道是否有任何解决方法使用64位的无签名驱动程序? 就像运行32位的兼容性一样,也可以代表用户自行签署驱动程序的脚本。
所以现在的问题实质上是,如果我分配在这个过程中提到的所有exes,并使脚本来运行所有这些命令。 那么驱动程序是否可以由用户使用脚本进行签名?
程序:
- 在Windows重新启动/closures时不调用DriverUnload
- 取消驱动程序卸载时的WSK I / O操作
- Windows内核驱动程序签名和服务创build
- 错综复杂的Windows驱动程序签名(重新命名和重新签名OpenVPN tap驱动程序)
- 为32位PCI设备编写Windows 64位设备驱动程序
1.执行Inf2Cat.exe /驱动程序:“U:\ MyDriver”/ os:7_X64
2.在WDK Makecert中findmakecert.exe -r -pe -ss PrivateCertStore -n“CN = TestCertforWDK”TestCert.cer
3.在WDK中使用Signtool.exe签署文件Signtool sign / v / PrivateCertStore / n TestCertForWDK / t http://timestamp.verisign.com/scripts/timestamp.dll “U:\ MyDriver \ MyDriver.cat”
4.使用WDK中的Signtool.exe签署驱动程序Signtool sign / v / PrivateCertStore / n TestCertForWDK / t http://timestamp.verisign.com/scripts/timestamp.dll “U:\ MyDriver \ MyDriver.sys”
5.在testing计算机上,导入证书:certmgr.exe / add TestCert.cer / s / r localMachine root
6.将其添加到受信任的发布者列表certmgr.exe / add TestCert.cer / s / r localMachine trustedpublisher
7.validation驱动程序Signtool verify / pa / v MyDriver.sys的标志
8.validationcat文件的签名Signtool verify / pa / v / c MyDriver.cat MyDriver.inf
所以这个问题的答案是一个大胖子。 我很抱歉,但除非你找到一个用户驱动的解决方法,或一些公司愿意赞助(签署你的司机)这是不可能的(我的意思是不可能:))。 此功能已在Windows中实施,以防止他们安装他们烦人的rootkit。
虽然它可能看起来很苛刻,但是它阻止了很多rootkit能够安装在用户机器上。 事实上,微软最近修补了一个与驱动程序签名有关的漏洞,允许黑客在Windows内使用微软的签名引擎来签署系统可以接受的驱动程序。
我高度怀疑你找到一种方法来解决这个以编程方式。 如果你这样做,让我知道。
获得驱动程序签署是唯一正确的方式让您的驱动程序在用户计算机上运行没有麻烦。 您不能指望用户将机器置于测试签名模式。 我认为你可以参考测试签名的成本来了解它的成本,我建议你在长期考虑你的驱动程序的时候尝试投资。 不知道是否有任何更改率。