我们需要使用signtool.exe使用SHA1和SHA2对我们的二进制文件进行双重签名,我们的证书支持256位SHA2。
使用Windows 8 SDK的signtool:
e.g.:
Signtool.exe 签名 /as /fd sha256 /thttp://timestamp.verisign.com/scripts/timstamp.dll http://timestamp.verisign.com/scripts/timstamp.dll/f“证书.pfx”/p XXXXXXX“文件.dll”
(其中 XXXXXXX 是我们的证书密码)
失败并出现神秘错误:
SignTool 错误:SignedCode::Sign 返回错误:0x80070057
参数不正确。
SignTool 错误:尝试签名时发生错误:file.dll
没有时间戳的签名是可行的,单独签名如 SHA1 或 SHA256 也可行,但我们需要双重签名,想象一下没有时间戳是不行的。
我尝试过signtool.exe的32位和64位版本,在Win7和Win8机器上尝试过,并尝试使用命令行选项但无济于事。以前有人讨论过这个问题吗?
我知道它有点旧,但我登陆了这个线程,也许其他人也会。
如果您先使用 SHA1 然后使用 SHA256 签名,它将起作用:
signtool.exe sign /f cert_file.pfx /t http://timestamp.comodoca.com/authenticode /p cert_password
signtool.exe sign /f cert_file.pfx /as /fd sha256 /tr http://timestamp.comodoca.com/rfc3161 /td sha256 /p cert_password
它在两个签名中使用相同的证书。我使用了Windows 10 SDK中的signtool,不知道它是否适用于以前的版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)