您的位置:首页 > 其它

64位Windows Vista 和Windows 7系统下驱动签名指南

2013-04-11 17:45 603 查看
在Windows Vista 和Windows 7 64位系统下安装的内核驱动程序都需要经过证书数字签名,否则无法安装。本文介绍如何给驱动文件进行签名。

签名介绍

驱动文件进行签名首先需要向CA证书机构(例如VerSign、GlobalSign)购买签名证书,从微软网站下载交叉证书,然后使用签名工具SignTool进行签名。

驱动签名证书

从CA证书版本机构购买的驱动签名证书,通常包含一个双证书文件myCert.spc(包含一个CA证书和一个签名证书)以及一个私钥文件myCert.pvk。

然后将得到的证书文件转换为签名工具可以使用的pfx(个人信息交换)格式,可以借助工具Pvk2Pfx:

Pvk2Pfx -pvk myCert.pvk -pi 123456 -spc myCert.spc -pfx myCert.pfx -po 123456

-pvk 指定密钥文件

-spc 指定双证书文件

-pi 保护输入密钥的密码

-pfx 输出的pfx证书文件

-po 保护输出密钥的密码

执行成功后会生成myCert.pfx文件

交叉签名证书

可以从Microsoft网站可以下载相应的交叉证书,交叉证书和驱动签名证书的CA必须是相同的:

http://www.microsoft.com/whdc/driver/install/drvsign/crosscert.mspx

此处以VerSign签名证书为例下载后的文件为MSCV-VSClass3.cer 。

签名工具

Signtool.exe,签名会使用到该工具的sign命令,以下是该命令常用的参数:

/v 执行成功、执行失败或产生警告消息时生成详细输出。

/a 自动选择最佳的签名证书。

/c 指定用于对证书进行签名的证书模板名(一个 Microsoft 扩展),交叉签名证书。

/f 指定签名证书文件(pfx格式)。

/p 指定签名证书的私钥保护密码。

/t 指定时间戳服务器的 URL。

详细命令和参数参考:http://msdn.microsoft.com/zh-cn/library/8s9b9yaz(VS.80).aspx

驱动文件签名

SignTool sign /v /ac MSCV-VSClass3.cer /f myCert.pfx /p 123456 /t http://timestamp.verisign.com/scripts/timestamp.dll mydrv.sys

The following certificate was selected:

Issued to: My Company Co.,Ltd

Issued by: VeriSign Class 3 Code Signing 2004 CA

Expires: Sat Sep 24 07:59:59 2011

SHA1 hash: 4C59A129D4A09F2FD53B75B79D3C7BE91D832EE7

Cross certificate chain (using machine store):

Issued to: Microsoft Code Verification Root

Issued by: Microsoft Code Verification Root

Expires: Sat Nov 01 21:54:03 2025

SHA1 hash: 8FBE4D070EF8AB1BCCAF2A9D5CCAE7282A2C66B3

Issued to: Class 3 Public Primary Certification Authority

Issued by: Microsoft Code Verification Root

Expires: Tue May 24 01:11:29 2016

SHA1 hash: 58455389CF1D0CD6A08E3CE216F65ADFF7A86408

Issued to: VeriSign Class 3 Code Signing 2004 CA

Issued by: Class 3 Public Primary Certification Authority

Expires: Wed Jul 16 07:59:59 2014

SHA1 hash: 197A4AEBDB25F0170079BB8C73CB2D655E0018A4

Issued to: My Company Co.,Ltd

Issued by: VeriSign Class 3 Code Signing 2004 CA

Expires: Sat Sep 24 07:59:59 2011

SHA1 hash: 4C59A129D4A09F2FD53B75B79D3C7BE91D832EE7

Done Adding Additional Store

Successfully signed and timestamped: mydrv.sys

Number of files successfully Signed: 1

Number of warnings: 0

Number of errors: 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: