【发布时间】:2014-01-03 07:00:40
【问题描述】:
我有两个代码签名证书(一个 SHA-1,一个 SHA-256),我想将它们应用于同一个文件。我尝试附加 SHA-256 证书,但失败了:
:: Signs with the SHA-1 certificate
signtool sign /sha1 8f52fa9db30525dfabb35b08bd1966693a30eccf /t http://timestamp.verisign.com/scripts/timestamp.dll my_app_here.exe
:: Signs with the SHA-2 certificate
signtool sign /sha1 8b0026ecbe5bf245993b26e164f02e1313579e47 /as /t http://timestamp.verisign.com/scripts/timestamp.dll my_app_here.exe
这失败并出现错误:
Done Adding Additional Store
SignTool Error: SignedCode::Sign returned error: 0x80070057
The parameter is incorrect.
SignTool Error: An error occurred while attempting to sign: my_app_here.exe
如果我从第二个命令中删除时间戳 URL,则签名成功完成,但 SHA-2 签名没有时间戳。 (无论我是否在第一个签名上加上时间戳都没有影响)
此处的目的是允许某人在支持此功能的操作系统上使用更强的证书验证应用,但避免在不支持更强证书的操作系统(Vista、XP)上验证失败.
这种事情有可能吗?
【问题讨论】:
-
嗯,很高兴知道我并不孤单需要这个......
-
您是否尝试过
/td sha256 /tr ...而不是/t ...进行第二次签名?
标签: code-signing code-signing-certificate authenticode verisign