Windows 内核代码数字签名指南
发布日期:2016-06-20一、安装代码签名证书环境
1.1 代码签名证书安装环境简介
电脑一台
装windows 操作系统
代码签名证书一张
1.2 网络环境要求
请确保您的电脑可以正常访问外网。
二、代码签名证书安装
2.1 获取代码签名证书
成功在沃通CA申请代码签名证书后,会得到一个有密码的压缩包文件,输入证书密码后解压得到两个文件:pfx+MS、pvk+spc,这个是证书的两种种格式,签名内核需要用到 pfx 格式的证书。
图 1
2.2 解压证书文件
打开文件可以看到 2 个文件。包括交叉根和用户代码签名证书,如图 2
图 2
三、内核代码签名
3.1 用SignTool 签名工具签名:
现在,就可以使用 WDK 的 SignTool 签名你的文件了。先将您的证书 XXX.pfx 文件和微软签发的内核签名交叉根证书 MS_XS.crt 放到签名 signtool 工具所在目录,签名命令为:
XP 用户:signtool sign /v /ac MS_XS.crt /f xxx.pfx /p 密码 /t http://timestamp.digicert.com my.sys
Win7、8 用户:signtool sign /v /ac MS_XS.crt /f xxx.pfx /p 密码 /tr http://timestamp.digicert.com my.sys
其中:
(1) /ac:加载内核签名专用交叉根证书, MS_XS.crt 是微软签发的交叉根证书;
(2) /f xx.pfx:加载代码签名证书。请把颁发给你的用户证书放到 signtool 目录下,或者指定文件路径;
(3) /p 密码:申请证书时候设置的密码;
(4) /t,/tr:为代码加上 WoSign 时间戳,确保签名后的代码永不过期;
(5) my.sys: 就是您要签名的内核文件,当然可以是其他类型文件,如.dll,.cat, .exe 文件,或者指定文件路径;
请注意:签名时,一定要保证能连上互联网,否则由于无法访问时间戳服务器而失败。签名完成后,如果显示“Successfully signed and timestamped”(成功签名与加上时间戳),如下图所示,这表明
签名已经成功:
3.2 验证内核签名
执行以下命令验证内核签名是否正确:
signtool verify /v /kp my.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 颁发给您的公司的Windows内核代码签名证书, 如果证书公司名称为中文,则在签名工具中显示不出来(为空),但这并不影响签名效果。
3.3 数字签名.CAT 文件
根据 inf 文件产生 cat 文件(使用 Signability 或 inf2cat : 下载inf2cat工具 , 并参考使用指南),对.cat 文件进行数字签名,同上一步骤。这样,您就可以发布您已经签名的内核软件了。
四、代码签名证书的备份
请保存好收到的证书压缩包文件及密码,以防丢失。
五、代码签名证书的恢复
重复2.3 操作即可。
技术支持热线 0755-26027828 / 0755-26027859
技术支持邮箱 support#wosign.com
沃通SSL论坛 http://bbs.wosign.com
沃通CA官网 http://www.wosign.com