内核驱动签名sys文件签名指南
本文来自:维瑞-技术中心-内核驱动签名指南 http://www.willrey.com/support/digital_signatures_for_kernel.html
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。
- 要注意的是对64位Windows机驱动,尽量使用VeriSign代码签名证书,从 维瑞 获得两个证书文件 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是 Verisign公司和微软的交叉根证书,可从微软网站上下载,或从维瑞下载。
- /s my 就是我们的个人证书库
- /t 加签名的时间戳
- Mydrv.sys 是要嵌入签名的驱动文件
注意:做这步时,一定要保证网络通畅。否则访问时间戳网址会失败,时间戳服务对代码签名很重要。
执行后的输出结果如下图所示,这只代表签名已经成功嵌入。
- 验证签名
- 内核驱动签名完成后,执行下面的步骤验证签名是否正确
SignTool verify /v /kp mydrv.sys
如果出现如下信息,说明嵌入签名成功
易维信科技服务有限公司
官网:www.EVTrust.com
电话:0755-86522365
手机:186-7550-7556
传真:0755-61104052
邮箱:wugx@evtrust.com