下载压缩包文件signtool.zip,解压并添加环境变量(便于以后可以通过CMD窗口直接使用);也可解压后直接拖入CMD窗口。
有存储介质代码签名证书(Ukey存储)
无时间戳签名
无时间戳签名输入以下命令:
signtool sign /a /s MY /n "代码签名证书的单位名称" /as /fd sha256 /a "c:\path\to\file.exe"
有时间戳签名
添加时间戳签名输入以下命令:
signtool sign /tr http://timestamp.digicert.com /td sha256 /n "代码签名证书的单位名称" /fd sha256 "c:\path\to\file.exe"
无存储介质代码签名证书(pfx格式)
无时间戳签名
无时间戳签名输入以下命令:
signtool sign /fd sha256 /f "c:\path\to\mycert.pfx" /p pfxpassword "c:\path\to\file.exe"
添加时间戳签名
添加时间戳签名输入以下命令:
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"
签名验证
查看签名后的文件属性-数字签名进行验证
通过以下命令进行验证:
signtool verify /pa "c:\path\to\file.exe"
参数解释
签名命令选项 | 说明 |
---|---|
/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联系。