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

来源:http://www.wosign.com/support/signcode_guide.htm

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

    用户在在线申请代码签名证书时会生成证书私钥文件,如:myCert.pvk,而代码签名证书成功颁发后的证书文件为公钥文件,如:myCert.spc,又称:软件发行证书(Software Publishing Certificate) 。 代码签名证书一般都是採用公钥和私钥分离的两个文件方式,适合于 DOS 命令行方式的代码签名。假设您您希望把代码签名证书导入到Windows证书存储区中,从而简化签名操作,请參考:不同证书格式转换指南

    WoSign代码签名证书的根证书链为: UTN-USERFirst-Object - WoSign Code Signing Authority

    使用微软的 SignCode.exe 就能够对微软的代码进行签名,假设您没有此文件,点击 这里 下载。 Signcode.exe 能够使用 DOS 命令行方式实现签名,我们推荐用户使用数字签名向导方式,简单方便。请注意:假设您开发的ActiveX为IE载入项,请先数字签名每一个CAB文件里的.dll和.ocx等文件,再把这些文件打包成.cab文件后再数字签名.cab文件,以确保全部IE载入项都被IE验证和信任,否则会显示“未验证”而可能影响正常执行。

    详细签名向导步骤例如以下:

    (1) 执行 Signcode.exe , 要求您选择须要签名的文件,支持:可执行文件 (*.exe; *.dll; *.ocx) ; Cabinet 打包文件 (*.cab) 和文件夹文件 (*.cat) ,例如以下图 1 所看到的 ( 如: TestSign.cab) ,请注意:假设签名的文件已经有数字签名,则会被新的签名覆盖:

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

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

    (4) 点击“下一步”后,例如以下图 4 所看到的,会要求您选择私钥文件,如: WotoneCS.pvk ,其它參数不用动:
    (5) 点击“下一步”后,例如以下图 5 所看到的,会提示要求输入私钥password:
    (6) 点击“下一步”后,例如以下图 6 所看到的,会提示要求选择散列算法 ( 摘要算法、缩微图算法 ) ,缺省为 sha1 ,也能够选 md5 :
    (7) 点击“下一步”后,例如以下图 7 所看到的,选择哪些证书包含到数字签名中,直接点击“下一步”就可以,即选择缺省的包含根证书:
    (8) 例如以下图 8 所看到的,要求填写该签名代码的功能描写叙述,推荐一定要认真填写,由于此信息将会在终于用户下载此代码时显示,有助于终于用户了解此代码的功能以确定是否下载安装。第一行“描写叙述”是指此代码的功能文字描写叙述,第二行“ Web 位置”则让终于用户点击文字描写叙述来具体了解此代码的功能和用法等,本演示中的“ Web 位置”为WoTrust代码签名证书简单介绍页面:

    (9) 点击“下一步”后,例如以下图 9 所看到的,选中“将时间戳加入到数据中”,请使用:

WoSign 免费提供的时间戳服务URL: http://timestamp.wosign.com/timestamp

    时间戳服务很重要,加入时间戳后,即使您的代码签名证书已经过期,但因为您的代码是在证书有效期内签名的,则时间戳服务保证了此代码仍然可信,终于用户仍然能够放心下载,使得即使代码签名证书已经过期,您也无需重签和又一次公布已经签名的代码。

    (10) 点击“下一步”后,例如以下图 10 所看到的,会提示已经完毕数字签名向导,点击“完毕”后还会提示您输入私钥password,就完毕代码签名证书的代码签名。
     (11) 如今,须要使用 chktrust.exe 来查验已经签名的代码, chktrust.exe 文件已经打包在 signtool.rar 中。进入 DOS 命令提示符,并进入已经签名的文件所在文件夹 ( 如: d:/sign/TestCA.cab) ,键入命令: chktrust testcs.cab ,则会显示实际应用时在 IE 浏览器下载页面的情况,例如以下图 11 所看到的,对于Win XP操作系统,会显示软件名称和发行者名称,当中软件名称就是您在第(8)步输入的描写叙述,点击此名称就链接到您在第(8)步填写的网址,而点击发行者名称,则会显示您的签名信息和时间戳信息。对于Win2000操作系统,则稍有不同,第 1 行的红线部分就是时间戳记录的签名时的本地时间,请注意:此时间不是取签名电脑的时间,而是提供时间戳服务的server计算出来的签名电脑设置的所在时区的本地时间。第 1 行蓝色文字就是在第 8 步中输入的描写叙述文字,点击此蓝色文字就能够訪问在第 8 步中输入的 Web 描写叙述页面。第 2 行蓝色文字则为该代码的发行者,也就是代码签名证书的申请者(拥有者)( 如:深圳市沃通电子商务服务有限公司) ,点击能够查看证书的具体信息;第 2 行有红色下划线部分显示“发行商可靠性由 WoSign Code Signing Authority 验证 ”就是此代码签名证书的证书颁发者。

    (12) 点击“是”或“执行”,则会提示“ TestSign.cab: Succeeded ”表示代码 TestSign.cab 签名验证有效,能够放到站点上了。请注意:签名后的CAB文件放到站点上须要使用 object 方式。

请注意:不能仅签名CAB文件,CAB包中全部DLL文件都要先签名后再打包,再签名CAB文件,否则IE浏览器会显示为“未验证的发行者”而影响正常使用,甚至杀毒软件会觉得是毒而被删除!例如以下图所看到的的实际案例:


原文地址:https://www.cnblogs.com/mfrbuaa/p/3788150.html