内核驱动签名指南

来源:互联网 发布:Qemu linux dropbear 编辑:程序博客网 时间:2024/05/21 07:50

 Vista Non-PnP Kernel-Mode Boot Driver签名指南

文章来自:维瑞网站 http://www.willrey.com/support/Digital_Signatures_for_Kernel.html

Boot Start Driver 是指在操作系统启动时,就加载的驱动。由于系统刚刚启动,所以不会像加载其他PnP 类型驱动那样,用签名的Catalog文件判断驱动的合法性。有关这方面的详细说明请参考微软文档 “Digital Signatures for Kernel Modules on Systems Running WindowsVista”(64bitDriverSigning.doc)。

注意:以下操作环境是WDK 6000版本的Vista X64 Free Build Environment。


  • 联系维瑞购买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,启动控制台程序

  • 选择菜单“文件-〉添加/删除管理单元”

  • 单击“添加”按钮

  • 在“可用的独立管理单元”列表中选择“证书”,然后单击“添加”按钮

  • 选择“我得用户帐户”,然后单击“完成”按钮

  • 单击“关闭”按钮
  • 单击“确定”按钮

完成以上步骤后,在控制台软件的左侧显示证书树形列表。见下图:

选择“个人”目录,右键单击,选择“所有任务-〉导入”

  • 根据“证书导入向导”的提示,将步骤2)生成的.pfx文件导入当前个人目录下。

  • 导入成功后,可以看到购买的证书信息。

  • 签名命令

SignToul sign /v /ac MSCV-VSClass3.cer /s my /t http://timestamp.verisign.com/scripts/timestamp.dll mydrv.sys

  • MSCV-VSClass3.cer是 Verisign公司和微软的交叉根证书,可从微软网站上下载,或从维瑞下载。

  • /s my 就是我们在步骤3)中的个人证书库

  • /t 加签名的时间戳

  • Mydrv.sys 是要嵌入签名的驱动文件

注意:做这步时,一定要保证网络通畅。否则访问时间戳网址会失败。

执行后的输出结果如下图所示,这只代表签名已经成功嵌入。

  • 验证签名

  • 签名完成后,执行下面的步骤验证签名是否正确

    SignTool verify /v /kp mydrv.sys

    如果出现如下信息,说明嵌入签名成功


原创粉丝点击