代码签名工具下载:http://verisign.itrus.com.cn/soft/Thawte_CodeSigning.rar
一、 创建证书请求
1. 开始证书请求
运行“autocsr.bat”工具,填写证书请求信息
2. 确认证书注册信息
Thawte代码签名证书支持中文,但省市、市县信息请确保使用英文或汉语拼音输入。
部分平台在缺少中文字库时会出现中文乱码,推荐使用英文信息注册代码签名证书。
3. 完成证书请求
4. 提交证书请求并备份密钥文件
将生成的certreq.csr文件发送给天威诚信[email protected]邮箱,备份mykey.key文件,等待证书的签发。
在您收到证书签发邮件之前,请不要删除Cert文件夹下mykey.key文件,以避免私钥丢失而导致无法生成签名证书。
二、 生成代码签名证书
当您的证书被批准后,会收到来自“[email protected]”一封主题为“您的Thawte Code Signing Certificate 已被批准”的邮件。
1. 接收并保存代码签名证书
当您的证书请求被批准后,证书将附在签发邮件正文中发送给您。完整复制证书代码(包括:“ -----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”),粘贴到记事本文档中保存,并修改文件名为codesign.cer即可。
2. 生成签名证书
运行cert2pfx.bat,程序将自动查找AutoCSR文件夹下的mykey.key文件,用于创建签名证书。如果您移动过该文件,则您需要选择并输入私钥文件mykey.key路径。
拖放codesign.cer文件到程序窗口中。
设置签名证书mycert.pfx文件保护密码。
在命令行中,您的键盘输入有效但密码输入不会打印到屏幕中。请重复输入保护密码,并在mycert.pfx文件创建成功后,做好证书的备份保存。
证书文件创建成功,mycert.pfx文件默认存储于cert2pfx文件夹下。
3. 调整签名PC机环境
调整签名用PC机环境可提升代码签名证书在客户端的兼容性,避免签名用机已安装的安全更新包对代码签名兼容性造成影响。
打开IE浏览器,选择“工具”=“Internet选项”=“内容”=“证书”(如找不到以下证书信息,请忽略以下步骤)。
删除“中级证书颁发机构”中,主题为“Thawte Code Signing CA - G2”以及“thawte Primary Root CA”的所有证书。
删除“受信任的根证书颁发机构”中,主题为“thawte Primary Root CA”,到期时间为“2036-7-17”的证书。
4. 在签名PC机上安装中级CA证书环境
将证书签发邮件中的从BEGIN到 END结束的两张中级CA证书内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)分别粘贴到记事本等文本编辑器中,并修改文件扩展名,保存为intermediate1.cer和intermediate2.cer文件。
分别右键单击intermediate1.cer和intermediate2.cer,选择“安装证书”,将两张中级CA证书按照默认设置安装到签名用PC中。
5. 修改pfx文件密码(可选操作)
在您完成mycert.pfx文件的创建后,如果您还需要修改该文件的保护密码,请进行如下操作:
双击mycert.pfx文件,使用证书导入向导,将pfx文件导入到系统存储区中。注意在导入过程中,选择“标志此密钥为可导出”。
其他使用默认选项,将pfx文件导入到系统存储区中。
证书导入完成后,打开Internet Explorer浏览器,并选择“工具”=“Internet选项”=“内容”=“证书”。在“个人”选项卡中,选中您刚刚导入的代码签名证书,并选择导出。
导出时注意选择“是,导出私钥”
同时选择“如果可能,将所有证书包括到证书路径中”
为了保护您的证书安全,推荐选择“如果导出成功,删除密钥”。这将在您导出包含新密码的pfx文件时,删除导入到系统存储区中的证书文件。
点击下一步,设置新的pfx文件保护密码和文件存储路径,完成pfx文件密码的修改。
三、 代码签名及签名验证
天威诚信批量代码签名工具SignBatch.bat调用微软signtool.exe,可批量或为单个程序添加签名信息,您可以方便的使用该工具对程序进行签名操作(支持64位驱动代码签名)。
您还可以选购天威诚信代码签名证书USB Key存储介质,用于存储您的证书文件,以保障您的证书密钥安全性。
1. 开始代码签名
运行SignBatch.bat
按照操作提示输入pfx文件位置、保护密码以及需要签名的代码所在路径
将待签名的文件或文件夹拖放入程序窗口,程序将自动为待签名文件或文件夹中的多个文件添加签名
输入软件描述信息
软件描述信息为可选输入信息。以下示例中软件描述为:“天威诚信证书测试”,点击该描述信息,将会打开您的Web浏览器程序,并自动链接到描述超链接中指定的站点(驱动代码默认不添加描述信息)。
如果描述信息留空,则在上图“名称”位置将显示为已签名程序的文件名。
程序将自动为程序添加签名
请留意屏幕提示信息。代码签名过程中,程序需要联接互联网获取当前Internet时间并使用时间戳服务,为代码添加时间戳。如果您在代码签名过程中,没有联接网络或使用受限的网络环境,则您将无法使用时间戳服务来进行签名。不使用时间戳服务将不会影响您的代码签名结果。
2. 验证代码签名
简单的验证方式:
鼠标右键选中您已完成签名的代码,选择“属性”?“数字签名”。通过查看数字签名中的签名信息,确认签名已成功。
使用chktrust.exe验证签名:
“开始”=“运行”=“CMD”,命令行进入chktrust.exe文件所在文件夹,运行命令:
chktrust <已签名文件路径>
严格的验证代码签名则需要在测试环境下部署并测试您的代码。
USB Key代码签名
天威诚信代码签名证书USB Key无需安装驱动程序,即插即用。在签名过程中需要输入USB Key用户PIN码。并可设置PIN码最大错误尝试次数,当输入PIN码错误次数超过最大尝试次数时,USB Key将被锁定。
请参考USB Key管理手册,将证书导入到USB Key中(导入过程只需要操作一次)。
插入您的USB Key后,请运行“USB Key Sign.bat”,将待签名的文件或文件夹拖放入程序窗口,程序将自动为待签名文件或文件夹中的多个文件添加签名。
在要求您输入用户PIN码时,正确输入您的用户PIN码,完成批量代码签名操作。
四、 代码签名证书的备份
请妥善备份并保管您的证书密钥文件,防止未授权的证书使用及证书丢失情况的发生。您可以使用以下任意一种方式备份您的证书文件:
1. 备份mycert.pfx文件及文件保护密码
2. 保存USB Key硬件证书,并备份USB Key管理密码