重要告示:任何证书拥有者都不得使用其购买的内核代码签名证书为间谍软件、流氓软件、黑客软件等恶意软件和盗版软件进行数字签名,也不得在违反国家有关法律法规的网站上使用,否则,一经用户举报和查实,WoSign可以立刻吊销此证书,不但不退款,而且还会配合有关部门追究可能由此带来的一切法律责任。
您成功申请 WoSign 内核代码签名证书 后就可以签名 Windows Vista, Windows 7, Windows 2008 server 等内核模式代码(硬件驱动、系统文件、杀毒软件等),具体签名步骤如下,建议同时参考微软网站上的相关英文指南:
* 内核模式驱动签名要求小结: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
Boot Start Driver 是指在操作系统启动时,就加载的驱动。由于系统刚刚启动,所以不会像加载其他PnP 类型驱动那样,用签名的Catalog文件判断驱动的合法性。有关这方面的详细说明请参考微软文档 “Digital Signatures for Kernel Modules on Systems Running Windows Vista”。 下面就把内核签名的完整步骤说明如下:
1. 导出您的PFX格式内核代码签名证书:
您成功购买 WoSign 内核代码签名证书 后,就可以在IE浏览器的“个人证书”中看到您的证书,选择导出证书(包含私钥),注意不要选中“包括整个证书路径”,并记住私钥密码。
2. 将您的PFX格式证书文件导入当前用户个人证书库中:
开始 -〉运行 -〉MMC,启动控制台程序 -> 选择菜单“文件 -〉添加/删除管理单元”-> “添加”->“可用的独立管理单元”列表中选择“证书”-> 选择“我的用户帐户”。在控制台的左侧显示证书树形列表,选择“个人”- “证书”,右键单击,选择“所有任务-〉导入”, 根据“证书导入向导”的提示,将.pfx文件导入当前个人证书目录下。导入成功后,可以看到如下图所示的证书信息:“颁发给”显示您申请的内核代码签名证书的公司名称,而“颁发者”必须是“WoSign Class 3 Code Signing CA”。请注意:请确保您的个人证书目录下只有 WoSign 颁发的 Windows内核代码签名证书,删除其他代码签名证书,否则会导致签名不成功。

3. 将WoSign中级根证书导入当前用户的中级根证书颁发机构列表中:
先下载 WoSign代码签名证书的两个中级根证书: WoSign代码签名中级根证书 和 交叉签名根证书, 再选择控制台“中级根证书颁发机构”- “证书”,右键单击,选择“所有任务-〉导入”, 根据“证书导入向导”的提示,分别将两个根证书文件导入当前用户中级根证书目录下。导入成功后,可以看到如下图所示的两个中级根证书信息:“WoSign Class 3 Code Signing CA” 和 “Certification Authority of WoSign”。请注意: 没有正确导入这两个中级根证书也会导致签名不成功。
4. 用SignTool签名工具签名:
现在,就可以使用WDK的 SignTool 签名你的文件了。请先 下载 微软签发的内核签名交叉根证书到签名工具所在目录,文件名为:MS_XS.cer。 签名命令行为:
signtool sign /v /ac MS_XS.cer /s my /t http://timestamp.wosign.com/timestamp mydrv.sys
其中:
(1) /ac: 加载内核签名专用交叉根证书, MS_XS.cer 是微软签发的交叉根证书;
(2) /s my: 加载个人证书库中的代码签名证书。请确保只有一个WoSign颁发的Windows内核代码签名证书;
(3) /t: 为代码加上WoSign时间戳,确保签名后的代码永不过期;
(4) mydrv.sys: 就是您要签名的内核文件,当然可以是其他类型文件,如.dll,.cat, .exe文件
请注意:签名时,一定要保证能连上互联网,否则由于无法访问时间戳服务器而失败。
签名完成后,如果显示“Successfully signed and timestamped”(成功签名与加上时间戳),如下图所示,这表明签名已经成功:

但是,这并不能表明是内核签名成功,必须执行以下命令验证内核签名是否正确:
signtool verify /v /kp mydrv.sys
如果显示如下图一样的证书签名信息,则说明内核签名成功! 请注意: 必须要有图示正确的5级证书签名路径,第1级必须是: Microsoft Code Verification Root, 第2级为:StartCom Certification Authority ; 第3级为:Certification Authority of WoSign; 第4级为: WoSign Class 3 Code Signing CA; 第5级为WoSign颁发给您的公司的内核代码签名证书, 如果证书公司名称为中文,则在签名工具中显示不出来(为空),但这并不影响签名效果。

5. 数字签名.CAT文件
根据inf文件产生cat文件(使用Signability 或 inf2cat),对.cat文件进行数字签名,同第4步骤。这样,您就可以发布您已经签名的内核软件了。
|