znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
阅读:5977回复:7

Windows Vista 64位内核驱动或内核代码签名(Kernel Signing)指南

楼主#
更多 发布于:2008-06-21 18:35


您得到以上双证书文件后就可以签名您的Windows Vista内核模式代码(硬件驱动、系统文件、杀毒软件等),具体签名步骤如下,建议同时参考微软网站上的相关英文指南:
* 内核模式驱动签名要求小结: http://www.microsoft.com/whdc/winlogo/drvsign/drvsign_perOS.mspx
* Windows 驱动签名要求: http://www.microsoft.com/whdc/winlogo/drvsign/drvsign.mspx
* Windows Vista x64 位系统的内核模式数字签名: http://www.microsoft.com/whdc/system/platform/64bit/kmsigning.mspx
* Windows Vista 内核模式签名指南: http://www.microsoft.com/whdc/winlogo/drvsign/kmcs_walkthrough.mspx
* Windows Vista 即插即用设备 (PnP) 驱动签名指南: http://www.microsoft.com/whdc/winlogo/drvsign/pnp-driver.mspx
* Windows Vista 内核模式签名交叉证书使用指南: http://www.microsoft.com/whdc/winlogo/drvsign/crosscert.mspx
* Windows Vista PMP 签名指南: http://www.microsoft.com/whdc/winlogo/drvsign/Pmp-sign.mspx
* Windows 系列操作系统驱动签名基础知识: http://www.microsoft.com/whdc/winlogo/drvsign/best_practices.mspx

(1) 在Windows Vista上安装WDK

(2) 先使用WDK中带的 PVK2PFX.exe 转换工具把以上得到的双证书文件 .SPC 和 .pvk 转换为.pfx,并且双击.pfx 导入此证书(注意:导入时选中“包含所有证书路径”,否则会影响签名成功),导入后,请到IE的“Internet选项”- “内容” - “证书” - “个人”查看您的证书,会显示“颁发给”您申请是使用的英文公司名称,请记下此名称,后面签名时要用到:

pvk2pfx -pvk myprivatekey.pvk -pi 私钥密码 -spc mycredentials.spc -pfx mycert.pfx -po PFX密码 -f

(3) 到微软网站下载微软签发给 VeriSign 的交叉认证 根证书 : MSCV-VSClass3.cer

(4) 对驱动文件.sys文件进行数字签名:

signtool sign /ac mscv-vsclass3.cer /s my /n Your_Company_Name /t http://timestamp.verisign.com/scripts/timestamp.dll mydrv.sys

其中:

/ac mscv-vsclass3.cer:mscv-vsclass3.cer就是您下载的微软签发给 VeriSign 的交叉认证根证书

/n Your_Company_Name:Your_Company_Name就是您在第(2)步看到的英文公司名称,必须一模一样

/t http://timestamp.verisign.com/scripts/timestamp.dll:是VeriSign的时间戳,确保证书过期还能正常使用驱动;

mydrv.sys:就是您要签名的文件

(5) 验证签名:

签名完成后,执行下面的命令验证签名是否正确:

SignTool verify /v /kp mydrv.sys

如果显示4个证书链(Microsoft Code Verification Root - Class 3 Public Primary Certification Authority - VeriSign Class 3 Code Signing 2004 CA - Your Company Name),说明签名成功!

(6) 签名.CAT文件

根据inf文件产生cat文件(使用Signability 或 inf2cat),对.cat文件进行数字签名,同第(4)和(5)步骤。

(7) 发布您已经签名的软件。

最新喜欢:

sunseasunsea
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
JenyCheng
驱动小牛
驱动小牛
  • 注册日期2005-07-26
  • 最后登录2021-01-24
  • 粉丝2
  • 关注0
  • 积分57分
  • 威望646点
  • 贡献值0点
  • 好评度119点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2008-12-18 14:47
很奇怪!
这么好的帖,大家为啥都不顶呢?

占个沙发先!!
JenyCheng
驱动小牛
驱动小牛
  • 注册日期2005-07-26
  • 最后登录2021-01-24
  • 粉丝2
  • 关注0
  • 积分57分
  • 威望646点
  • 贡献值0点
  • 好评度119点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2008-12-18 16:45
强烈要求给这个帖子置顶!!!

可以让后来者少走弯路!!!!
firing
驱动牛犊
驱动牛犊
  • 注册日期2002-03-14
  • 最后登录2013-04-25
  • 粉丝0
  • 关注0
  • 积分84分
  • 威望250点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-02-14 11:25
这个是self-sign签名,不是WHQL的签名.
有装self-sign签名驱动的机器,者device拿不到Designed for Windows Logo
Email: flykz1122@yahoo.com.cn
powerlinm
驱动牛犊
驱动牛犊
  • 注册日期2006-04-10
  • 最后登录2013-03-01
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望166点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-02-16 21:20
这种方式的签名成功,不过没有进行验证,不知道这种驱动可以用在哪几种场合,可以用于boot load阶段的驱动吗?
Namebus
驱动牛犊
驱动牛犊
  • 注册日期2007-01-07
  • 最后登录2011-03-15
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望95点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-05-30 16:03
引用第4楼powerlinm于2009-02-16 21:20发表的 :
这种方式的签名成功,不过没有进行验证,不知道这种驱动可以用在哪几种场合,可以用于boot load阶段的驱动吗?



只要是VeriSign这些可用品牌的证书,都可以用于Boot的驱动。
国际可信的数字证书服务商
manm321
驱动牛犊
驱动牛犊
  • 注册日期2009-07-28
  • 最后登录2009-08-18
  • 粉丝1
  • 关注0
  • 积分4分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2009-07-28 16:37
嗯,我不太懂,进来学习下先。
qingtian2008
驱动牛犊
驱动牛犊
  • 注册日期2008-10-20
  • 最后登录2010-06-04
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望62点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2010-03-05 13:28
顶  不错
坚持 毅力
游客

返回顶部