微软从Vista开始64位系统加载内核驱动要强制签名,虽然可以重启关闭相关选项,但是还是会出现很多问题,这里我自己测试驱动程序,目前也不想买证书,因此就尝试自己创建一个测试的签名,用来测试自己开发的驱动用。
参考链接:
https://www.mobibrw.com/2014/1404
一、测试机软件安装
测试机系统: win7 64位;
由于需要用到一些命令工具,因此需要先安装这些工具,主要包含:
MakeCert, CertMgr, Signtool这3个程序。
我在搭环境时,直接在测试机上安装了一个VS 2017(版本无所谓,别太旧就行), vs里是包含这些工具的,在安装VS时选择C++开发的工具包就行。
其他方式,Plateform SDK, .netFramework SDK里面也都有这些工具。
二、生成自己的证书并对驱动程序进行签名
在完成上述安装后,用admin权限打开Developer Command Prompt for VS 2017.
1.打开系统的testsigning模式,使得非权威CA发放的签名可以使用
|
|
成功后在桌面右下角可见测试标签:
没有的话重启一些看看。
2.做一个签名证书出来。
先进入D盘,或者任意目录都行,默认也行
|
|
成功后会生成相应的rg.cer文件在当前目录
3.把证书加进本机信任根CA中去。
|
|
4.给驱动签名。
|
|
这样这个驱动就完成签名了,可以在测试机上正常安装执行了。
说明
- 上面指令中 myDriver.sys是要签名的驱动;
- www.rg.com, rg.cert名称可以随便换;
- 前面的主机配置过程可能需要reboot,最后一步签名不需要;
- 还是就是参考链接里说testsigning打开可能会影响DRM,目前不关注这个,没管。