Sys内核驱动签名指南
Vista Non-PnP Kernel-Mode Boot Driver签名指南,Boot Start Driver 是指在操作系统启动时,就加载的驱动。由于系统刚刚启动,所以不会像加载其他PnP 类型驱动那样,用签名的Catalog文件判断驱动的合法性。有关这方面的详细说明请参考微软文档 “Digital Signatures for Kernel Modules on Systems Running WindowsVista”(64bitDriverSigning.doc)。
注意:以下操作环境是WDK 6000版本的Vista X64 Free Build Environment。
购买内核驱动签名证书
联系易维信(EVTrust)购买内核驱动签名证书,Symantec单位代码签名证书,注意Win10 内核签名需要购买EV 代码签名证书。获得两个证书文件 myprivate.pvk和 myspc.spc。
使用 pvk2pfx.exe 将这两个文件转换成 personal information exchange (.pfx) 文件
pvk2pfx -pvk myprivate.pvk -pi pvkpassword -spc myspc.spc -pfx mypfx.pfx -f
导入内核代码签名证书
将pfx文件导入当前用户个人证书库,这步非常关键,很多签名不成功或签名的root不对的原因都和这步有关。
开始-〉运行-〉mmc,启动控制台程序
选择菜单“文件-〉添加/删除管理单元”
单击“添加”按钮
在“可用的独立管理单元”列表中选择“证书”,然后单击“添加”按钮
选择“我得用户帐户”,然后单击“完成”按钮
单击“关闭”按钮
单击“确定”按钮。完成以上步骤后,在控制台软件的左侧显示证书树形列表。见下图:
选择“个人”目录,右键单击,选择“所有任务-〉导入”
根据“证书导入向导”的提示,生成的.pfx文件导入当前个人目录下。导入成功后,可以看到购买的证书信息。
签名命令:
SignTool sign /v /ac MSCV-VSClass3.cer /s my /t http://timestamp.verisign.com/scripts/timstamp.dll mydrv.sys
MSCV-VSClass3.cer是微软的交叉根证书,可从微软网站上下载,或从易维信下载。
/s my 就是我们的个人证书库
/t 加签名的时间戳
Mydrv.sys 是要嵌入签名的驱动文件
注意:做这步时,一定要保证网络通畅。否则访问 时间戳 网址会失败。执行后的输出结果如下图所示,这只代表签名已经成功嵌入。
验证签名
内核驱动签名完成后,执行下面的步骤验证签名是否正确 SignTool verify /v /kp mydrv.sys 如果出现如下信息,说明嵌入签名成功。
关键字: 微软代码驱动签名证书,驱动签名,内核签名,签名指南
下一篇:微软代码签名证书使用指南