Bil*_*eal 11 code-signing authenticode code-signing-certificate verisign
我有两个代码签名证书(一个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
Run Code Online (Sandbox Code Playgroud)
这失败并出现错误:
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
Run Code Online (Sandbox Code Playgroud)
如果从第二个命令中删除时间戳URL,则签名成功完成,但SHA-2签名没有时间戳.(我是否在第一个签名上加上时间戳没有效果)
这里的目的是允许某人使用更强大的证书验证应用程序,如果他们在支持此功能的操作系统上,但是为了避免在不支持更强版本的操作系统(Vista,XP)上验证失败.
这种事情甚至可能吗?
mik*_*ike 12
SHA-2 Authenticode签名需要RFC 3161时间戳服务器.timestamp.verisign.com URL不适用于此.
Symantec/Verisign的RFC 3161 URL是:
http://sha256timestamp.ws.symantec.com/sha256/timestamp
Run Code Online (Sandbox Code Playgroud)
如果您仍在使用较旧的http://timestamp.geotrust.com/tsa网址,并且该网址失败(2017年4月),则应将其更新为上述网址.与Verisign一样,GeoTrust现在也是赛门铁克的一部分.
资源:
https://knowledge.verisign.com/support/code-signing-support/index?page=content&id=SO5820