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

您得到以上双证书文件后就可以签名您的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



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

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

(3) 下载交叉根:

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

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

signtool sign /ac mscv-vsclass3.cer /s my /n Your_Company_Name /thttp://timestamp.verisign.com/scripts/timestamp.dllmydrv.sys

其中:

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

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

/thttp://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) 发布您已经签名的软件

此答案有用么?

 打印