TrustOcean 企业软件代码签名证书:在Windows系统上为您软件执行数字签名

当您通过 TrustOcean 成功申请到您企业的软件代码签名证书之后,您就可以根据下列向导来对您的软件代码添加数字签名。以确保您的软件在发行过程中增加Windows信任信誉和安全性。

如果您使用的是 EV 代码签名证书,请您先确保您已经正确激活并连接到了计算机。查看如何激活 EV 代码签名证书

>准备 SignTool 环境

SignTool 是 Windows 提供的专门用于操作数字签名的开发者工具。在正式签名之前,您需要确保您的 Windows 电脑上已经存在此工具和对应的运行环境。

以下几种情况您可以作为排查环境的参考:

  1. 如果您电脑已经安装了 Virtual Studio 且安装了对应的 C++ 开发环境, 那么很可能您的电脑已经具备了 signtool.exe 工具。您可以在您的 VS安装目录下搜索并找到它。
  2. 如果您的电脑从未安装VS开发环境,那么您可以尝试通过Microsoft官方网站下载 Windows SDK 包进行安装。安装之后您就可以通过SDK的安装目录搜索到该工具。Microsoft Windows SDK包下载地址为:
    https://developer.microsoft.com/zh-cn/windows/downloads/windows-10-sdk/

>时间戳服务器

时间戳服务器将为您保存签名数据和保证您的软件在发布之后数字签名依然持续有效。时间戳服务器将会在签名过程中使用到,TrustOcean 签发的所有软件代码签名证书对应的时间戳服务器均为:

http://timestamp.comodoca.com

此时间戳服务器同时适用于 RSA / SHA-1,RSA / SHA-256 或 RSA / SHA-384 签名,具体使用方式请见后续说明。

>使用 signtool 对软件进行签名

当您准备好 signtool 工具,并且成功安装从 TrustOcean 申请的软件代码签名证书之后。您需要通过CMD命令执行如下这些命令,请根据您的具体需求选择对应的命令版本:

Sha1 时间戳签名

signtool.exe sign  /f  your_cs_cert.pfx  /p your_pfx_pasword /t  http://timestamp.comodoca.com  your_exe_or_other_code_file.exe

Sha256 时间戳签名

signtool.exe sign  /f  your_cs_cert.pfx  /p your_pfx_pasword /fd sha256 /td sha256 /t  http://timestamp.comodoca.com  your_exe_or_other_code_file.exe 

signtool 的用法解释

参数值和用法说明
/f后跟您需要使用的代码签名证书的.pfx文件的路径, EV 代码签名无需使用
/p后跟您所使用的.pfx代码签名证书文件的密码, EV 代码签名无需使用
/t指定时间戳服务器地址
/tr指定RFC 3161时间戳服务器的地址,/t /tr 参数任选其一使用
/td同/tr参数一起使用,用于标志RFC 3161时间戳服务器的摘要算法
/fd指定创建文件摘要的算法,默认为 sha1,可选 sha256、sha384 等

更多关于 signtool 的用法,您可以在CMD窗口下运行如下命令获取介绍:

signtool sign

如果您正在使用EV代码签名证书,且需要为Windows驱动程序签名,除了本文提到的普通签名流程以外,您还需按照 Microsoft 的硬件注册规程进行接下来的操作。才能完成您的驱动程序签名和注册。查看 Microsoft 驱动签名向导