本月优惠

使用SignTool为Digicert EV代码签名文件准备计算机和安全令牌

准备令牌和计算机

  1. 安全令牌

    1. 安装设备硬件

      在PC上安装设备的硬件。

    2. 安装EV代码签名证书

      在继续执行这些说明之前,请在令牌上安装EV代码签名证书。

    3. 激活令牌

      激活令牌并从DigiCert帐户中检索其密码

    4. 安装Safenet eToken设备的驱动程序

      在令牌激活过程中,将为您提供下载和安装Safenet eToken设备驱动程序的链接。

    5. 修改eToken密码

      获得密码后,DigiCert建议您更改自己的eken密码,这是安全的最佳做法。

    6. 使用DigiCert提供的安全令牌

      许多客户会选择让DigiCert向他们发送安全令牌。如果这适用于您,则需要执行以下操作:

    7. 使用您自己的安全令牌

      如果要从其他供应商处携带自己的FIPS 140-2 2级兼容令牌,则需要执行以下操作:

  2. Windows SDK

    接下来,将Windows SDK安装到您的计算机上。

签名文件

准备好令牌和计算机后,使用SignTool命令对程序进行签名。您可以在下面运行自动或手动方法。

注意:      Microsoft将在2020年1月1日之前支持SHA1代码签名证书。Microsoft建议对所有应用程序使用SHA-256证书/摘要算法/时间戳。Microsoft尚未发布驱动程序的SHA1弃用策略。有关更多信息,请参阅Windows实施Authenticode代码签名和时间戳记页面。

自动与手动

如果您的计算机上有多个代码签名证书,我们建议您手动选择要用于签名代码的证书。运行任何SignTool命令时,将红色部分修改为与您的文件名相匹配。运行命令后,系统将提示您输入设备的密码。

  1. 自动选择签名证书

    要让Signtool自动选择用于对程序进行签名的代码签名证书,请执行以下操作:

    1. 以管理员身份打开命令提示符。

    2. 运行以下命令:

      使用SHA256证书/摘要算法/时间戳对代码进行签名

      signtool sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /a"c:path ofile_to_sign.exe"

      使用SHA1证书/摘要算法/时间戳对代码进行签名

      signtool sign /t http://timestamp.digicert.com /a "c:path ofile_to_sign.exe"

    3. 然后,您应该收到确认文件已成功签名并加盖时间戳的确认。

  2. 手动指定要使用的EV代码签名证书

    使用下面指定的手动SignTool手动命令之一,您可以选择用于发布程序的证书。

    1. 要在用户的个人帐户中获取证书的主题名称,请转到“ 开始”菜单并键入certmgr.msc,然后按Enter

    2. certmgr窗口中,展开个人>证书以列出为该用户帐户安装的所有证书。

    3. 证书的主题名称是“ 颁发给”字段 下列出的文本

      certmgr.msc中的EV代码签名证书主题名称

    4. 获取代码签名证书的主题名称

    5. 然后,将此文本输入以下命令之一的“主题名称”,并在其后跟随您正在签名的文件:

      使用SHA256证书/摘要算法/时间戳对代码进行签名

      signtool sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /n "subject name" "C:path ofileToSign.exe"

      使用SHA1证书/摘要算法/时间戳对代码进行签名

      signtool sign /t http://timestamp.digicert.com /n "subject name" "C:path ofileToSign.exe"

    6. 然后,您应该收到确认文件已成功签名并加盖时间戳的确认。

附加信息:

批量签名文件

如果要批量签名文件,则需要为SafeNet令牌启用单点登录。启用单点登录并登录令牌后,您可以对文件进行批处理签名,从而使每个用户会话只能输入一次密码。

如何为SafeNet令牌启用单点登录

  1. 打开SafeNet身份验证客户端工具

    导航到开始>程序文件> Safenet> Safenet身份验证客户端工具

  2. 单击高级视图图标(金色齿轮)。

  3. 在左窗格的菜单树中,选择“ 客户端设置”

  4. 在右窗格中,选择“ 高级”选项卡。

  5. 在“ 高级”选项卡上,选择“ 启用单一登录”选项。

  6. 点击保存

  7. 要激活单点登录功能,请从计算机注销并再次登录。

通过哈希值识别证书

使用代码签名证书的哈希值是让signtool知道要使用哪个代码签名证书的另一种方法。

如果您的个人证书存储区中安装了多个证书,则最好使用/ sha1选项来指定代码签名证书的哈希值,而不要在签名命令中使用/ a/ n“主题名称”

在这种情况下,您将使用代码签名证书的指纹值。必须从指纹值中删除所有空格;如果您不这样做,它将无法正常工作。您还可以使用DigiCert实用程序轻松获取指纹。

  1. 选项1:如何使用SHA256证书/摘要算法/时间戳对代码进行签名SHA256签名:

    signtool sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /sha1 [thumbprint] file.exe

  2. 选项2:如何使用SHA1证书/摘要算法/时间戳对代码进行签名:

    signtool sign /t http://timestamp.digicert.com /sha1 [thumbprint] file.exe

有关不同的signtool.exe选项的更多信息,请参见Microsoft的SignTool文档

如果需要对文件进行双重签名,请参阅使用SHA256和SHA1标准代码签名证书进行双重签名使用SHA256和SHA1 EV代码签名证书进行双重签名