下载压缩包文件signtool.zip,解压并添加环境变量(便于以后可以通过CMD窗口直接使用);也可解压后直接拖入CMD窗口。

有存储介质代码签名证书(Ukey存储)

无时间戳签名

无时间戳签名输入以下命令:

  1. signtool sign /a /s MY /n "代码签名证书的单位名称" /as /fd sha256 /a "c:\path\to\file.exe"

image.png

有时间戳签名

添加时间戳签名输入以下命令:

  1. signtool sign /tr http://timestamp.digicert.com /td sha256 /n "代码签名证书的单位名称" /fd sha256 "c:\path\to\file.exe"

image.png

无存储介质代码签名证书(pfx格式)

无时间戳签名

无时间戳签名输入以下命令:

  1. signtool sign /fd sha256 /f "c:\path\to\mycert.pfx" /p pfxpassword "c:\path\to\file.exe"

image.png

添加时间戳签名

添加时间戳签名输入以下命令:

  1. signtool sign /tr http://timestamp.sheca.com/sha256/ /td sha256 /fd sha256 /f "c:\path\to\mycert.pfx" /p pfxpassword "c:\path\to\file.exe"

image.png

签名验证

查看签名后的文件属性-数字签名进行验证

image.png

通过以下命令进行验证:

  1. signtool verify /pa "c:\path\to\file.exe"

image.png

参数解释

签名命令选项 说明
/a 自动选择最佳的签名证书。 签名工具将查找满足所有指定条件的所有有效的证书,并选择有效时间最长的一个。如果未指定该选项,签名工具仅查找一个有效的签名证书。
/f SignCertFile 指定文件中的签名证书。 如果文件是个人信息交换 (PFX) 格式且受密码保护,则使用/p 选项来指定密码。如果文件不包含私钥,则使用/csp 和/k 选项指定 CSP 和私钥容器名。
/fd 指定将用于创建文件签名的文件摘要算法。 默认值为 SHA1。
/n SubjectName 指定签名证书的主体的名称。 该值可以是整个主体名称的子字符串。
/p Password(密码) 指定打开 PFX 文件时使用的密码。 (使用/f 选项指定 PFX 文件。)
/s StoreName 指定要在搜索证书时打开的存储区。 如果未指定该选项,则打开My 存储。
/td alg 与 /tr 选项一起使用,以请求 RFC 3161 时间戳服务器使用的摘要算法。
/tr URL 指定 RFC 3161 时间戳服务器的 URL。 如果该选项(或/t)不存在,将不会对签名文件执行时间戳操作。如果时间戳操作失败,将生成一个警告。此选项不能与/t 选项一起使用。
/pa 说明应使用默认认证码验证策略。 如果未指定/pa 选项,“签名工具”将使用 “Windows 驱动程序验证策略”。此选项不能与catdb 选项一起使用。

参考:https://docs.microsoft.com/zh-cn/dotnet/framework/tools/signtool-exe?redirectedfrom=MSDN
如需购买代码签名证书请拨打:021-36393196联系。