首页>技术支持>微软代码签名证书使用指南- 双证书文件(.pvk/.spc)签名指南

微软代码签名证书使用指南- 双证书文件(.pvk/.spc)签名指南

【新版点击】:微软代码签名证书使用指南:双证书文件(.pvk/.spc)签名指南

【新版点击】:微软代码签名证书使用指南:单证书文件(.pfx)签名指南

【新版点击】:不同证书格式转换指南

本使用指南演示如何使用 Thawte 代码签名证书来给微软代码签名,VeriSign和GeoTrust代码签名证书也是使用同样方法,只是使用不同的时间戳URL。

用户付款和提交有关证明文件后,WoTrust会提供一个网址让用户自己在线申请Thawte代码签名证书,包括在线生成证书私钥文件:myCert.pvk 和填写详细的申请单位联系信息。成功提交申请后,请及时把订单号告诉WoTrust,WoTrust将协助Thawte尽快颁发证书。Thawte验证身份后颁发证书,会发一个电子邮件到用户填写的技术联系人的电子邮箱中,用户输入订单号和申请时填写的管理密码就可以得到 Thawte 代码签名证书:myCert.spc,为代码签名证书的公钥文件,又称:软件发行证书(Software Publishing Certificate) 。 代码签名证书英文版都是采用这种公钥和私钥分离的两个文件方式,适合于 DOS 命令行方式的代码签名。如果您希望把代码签名证书导入到Windows证书存储区中,从而简化签名操作,请参考:证书格式转换指南。

Thawte代码签名证书颁发根证书为: Thawte Premium Server CA -- Thawte Code Signing CA

使用微软的 SignCode.exe 就可以对微软的代码进行签名,如果您没有此文件,点击 这里 下载。 Signcode.exe 可以使用 DOS 命令行方式实现签名,我们推荐用户使用数字签名向导方式,简单方便。具体签名向导过程如下:

(1) 运行 Signcode.exe ,要求您选择需要签名的文件,支持:可执行文件 (*.exe; *.dll; *.ocx) ; Cabinet 打包文件 (*.cab) 和目录文件 (*.cat) ,如下图 1 所示 ( 如: TestSign.cab) ,请注意:如果签名的文件已经有数字签名,则会被新的签名覆盖:

微软双证书文件(.pvk/.spc)签名指南

(2) 点击“下一步”后,如下图 2 所示,会要求您选择“签名类型”,缺省的“典型”签名类型;请选择“自定义” 签名类型:

微软双证书文件(.pvk/.spc)签名指南

(3) 如下图 3 所示,点击“从文件选择”签名证书 ( 公钥文件 ),如: WotoneCS.spc :

微软双证书文件(.pvk/.spc)签名指南

(4) 点击“下一步”后,如下图 4 所示,会要求您选择私钥文件,如: WotoneCS.pvk ,其他参数不用动:

微软双证书文件(.pvk/.spc)签名指南

(5) 点击“下一步”后,如下图 5 所示,会提示要求输入私钥密码:

微软双证书文件(.pvk/.spc)签名指南

(6) 点击“下一步”后,如下图 6 所示,会提示要求选择散列算法 ( 摘要算法、缩微图算法 ) ,缺省为 sha1 ,也可以选 md5 :

微软双证书文件(.pvk/.spc)签名指南

(7) 点击“下一步”后,如下图 7 所示,选择哪些证书包括到数字签名中,直接点击“下一步”即可,即选择缺省的包括根证书:

微软双证书文件(.pvk/.spc)签名指南

(8) 如下图 8 所示,要求填写该签名代码的功能描述,推荐一定要认真填写,因为此信息将会在最终用户下载此代码时显示,有助于最终用户了解此代码的功能以确定是否下载安装。第一行“描述”是指此代码的功能文字描述,第二行“ Web 位置”则让最终用户点击文字描述来详细了解此代码的功能和使用方法等,本演示中的“ Web 位置”为 Thawte 代码签名证书简介页面:

微软双证书文件(.pvk/.spc)签名指南

(9) 点击“下一步”后,如下图 9 所示,选中“将时间戳添加到数据中”,请使用VeriSign 免费提供的代码签名时间戳URL:http://timestamp.verisign.com/scripts/timestamp.dll 。

时间戳服务非常重要,添加时间戳后,即使您的代码签名证书已经过期,但由于您的代码是在证书有效期内签名的,则时间戳服务保证了此代码仍然可信,最终用户仍然可以放心下载,使得即使代码签名证书已经过期,您也无需重签已经签名的代码。

微软双证书文件(.pvk/.spc)签名指南

(10) 点击“下一步”后,如下图 10 所示,会提示已经完成数字签名向导,点击“完成”后还会提示您输入私钥密码,就完成代码签名证书的代码签名。

微软双证书文件(.pvk/.spc)签名指南

(11) 现在,需要使用 chktrust.exe 来查验已经签名的代码, chktrust.exe 文件已经打包在 Signtool.rar 中。进入 DOS 命令提示符,并进入已经签名的文件所在目录 ( 如: d:\sign\ TestSign.cab) ,键入命令: chktrust testsign.cab ,则会显示实际应用时在 IE 浏览器下载页面的情况,如下图 11 所示,第 1 行的红线部分就是时间戳记录的签名时的本地时间,请注意:此时间不是取签名电脑的时间,而是 VeriSign 提供时间戳服务的服务器计算出来的签名电脑设置的所在时区的本地时间。第 1 行蓝色文字就是在第 8 步中输入的描述文字,点击此蓝色文字就可以访问在第 8 步中输入的 Web 描述页面。第 2 行蓝色文字则为该代码的发行者,也就是代码签名证书的申请者 ( 拥有者 )( 如: Wotone Communications Ltd.) ,点击可以查看证书的详细信息;第 2 行有红色下划线部分显示“发行商可靠性由 Thawte Code Signing CA 验证 ”就是此代码签名证书的证书颁发者。

微软双证书文件(.pvk/.spc)签名指南

(12) 点击“是”,则会提示“ TestSign.cab: Succeeded ”表示代码 TestSign.cab 签名验证有效,可以放到网站上了。请注意:签名后的代码放到网站上需要使用 object 方式。