首页>技术支持>微软代码签名证书使用指南(SignTool)

微软代码签名证书使用指南(SignTool)

重要告示:任何证书拥有者都不得使用其购买的代码签名证书为间谍软件、流氓软件、黑客软件等恶意软件和盗版软件进行数字签名,也不得在违反国家有关法律法规的网站上使用,否则,一经用户举报和查实,WoSign可以立刻吊销此证书,不但不退款,而且还会配合有关部门追究可能由此带来的一切法律责任。

本使用指南演示如何使用 WoSign微软代码签名证书 来给Windows平台代码签名,签名工具为WDK自带的签名工具软件 SignTool.exe,此签名工具软件仅支持DOS命令符方式签名。如果您希望使用图形化界面签名您的代码,则建议使用老版本的签名工具 SignCode.exe,并请参考 SignCode微软代码签名指南

1. 获取代码签名证书:

成功在沃通申请代码签名证书后,会得到一个有密码的压缩包文件,输入证书密码后解压得到两个文件: pfx+MS、 pvk+spc,这个是证书的两种种格式,签名普通代码需要用到 pfx 格式的证书:

微软代码签名文件

2. 解压证书文件:

打开 pfx+MS 文件可以看到3个文件。我们要用到pfx格式的文件,如图

微软代码解压文件

3. 用SignTool签名工具签名(方法一):

现在,就可以使用WDK的 SignTool 签名你的文件了,点这里 下载 Signtool签名工具。请先将您的证书XXX.pfx文件放到签名signtool工具所在目录签名命令行为:

XP,Win7用户:signtool sign /v /f xxx.pfx /p 密码 /t http://timestamp.digicert.com test.cab

Win7,Win8用户:signtool sign /v /f xxx.pfx /p 密码 /tr http://timestamp.digicert.com test.cab

其中:

(1) /v:显示详细的签名结果;

(2) /f xx.pfx:加载代码签名证书。请把颁发给你的用户证书放到signtool目录下,或者指定文件路径;

(3) /p 密码:申请证书时候设置的密码;

(4) /t,/tr:为代码加上WoSign免费时间戳,确保签名后的代码永不过期;

(5) test.cab: 就是您要签名的Windows文件,如:.cab, .dll, .exe 等文件;

(6) 如果您需要批量签名: 请点击这里

请注意:签名时,一定要保证能连上互联网,否则由于无法访问时间戳服务器而失败。

签名完成后,如果显示“Successfully signed and timestamped”(成功签名与加上时间戳),如下图所示,这表明签名已经成功:

微软代码签名成功

用SignTool签名工具签名(方法二):

请先将您的证书XXX.pfx文件安装到windows系统中的mmc,签名命令行为:

XP,Win7用户:signtool sign /v /s my /t http://timestamp.digicert.com test.cab

Win7,Win8用户:signtool sign /v /s my /tr http://timestamp.digicert.com test.cab

其中:

(1) /v:显示详细的签名结果;

(2) /s:加载代码签名证书。请把颁发给你的用户证书安装到mmc中的用户账户中;

(3) /t,/tr:为代码加上WoSign免费时间戳,确保签名后的代码永不过期;

(4) test.cab:就是您要签名的Windows文件,如:.cab, .dll, .exe 等文件;

(5) 如果您需要批量签名:请 点击这里

请注意:签名时,一定要保证能连上互联网,否则由于无法访问时间戳服务器而失败。

签名完成后,如果显示“Successfully signed and timestamped”(成功签名与加上时间戳),如下图所示,这表明签名已经成功:

微软代码签名成功

您还可以使用以下命令验证签名是否完全正确:

signtool verify /v /pa test.cab

如果显示如下图一样的证书签名信息,则说明签名完全没有问题!请注意:必须要有图示正确的4级证书签名路径,第1级为:StartCom Certificate Authority;第2级为:Certification Authority of WoSign;第3级为:WoSign Class 2 Code Signing CA(单位代码签名证书是class 3); 第4级为WoSign颁发给您的公司的微软代码签名证书, 如果证书公司名称为中文,则在签名工具中显示不出来(为空),但这并不影响签名效果。

微软代码签名信息

经验证签名成功后可以放到网站上了。请注意:签名后的CAB文件放到网站上需要使用 object 方式。同时,请注意:不能仅签名CAB文件,CAB包中所有DLL文件都要先签名后再打包,再签名CAB文件,否则IE浏览器会显示为“未验证的发行者”而影响正常使用,甚至杀毒软件会认为是毒而被删除!