我们需要使用signtool.exe使用SHA1和SHA2双重签名我们的二进制文件,我们的证书支持256位SHA2.
使用Windows 8 SDK的signtool:
例如:
signtool.exe签名/ as/fd sha256/t http://timestamp.verisign.com/scripts/timstamp.dll/f"certificate.pfx"/ p XXXXXXX"file.dll"
(XXXXXXX是我们的证书密码)
因为神秘错误而失败:
SignTool错误:SignedCode :: Sign返回错误:0x80070057参数不正确.SignTool错误:尝试签名时发生错误:file.dll
在没有时间戳的情况下进行签名,单独签名为SHA1或SHA256可以正常工作,但是我们需要双重签名,并且想象没有时间戳是不行的.
我已经尝试了32位和64位版本的signtool.exe,在Win7和Win8机器上试过它,并尝试使用命令行选项,但无济于事.以前有人打过这个问题吗?
由于Windows更改了他们的安全策略,我们计划使用SHA-256算法而不是SHA-1开始代码签名驱动程序文件.但是,我们仍然希望能够支持仍需要SHA-1签名的旧操作系统.
使用Microsoft,signtool.exe
我们可以使用/ fd标志使用SHA-1和SHA-256摘要算法成功编码签名文件.但是,如果可能,我们希望同时使用两种算法对文件进行签名.这甚至可能吗?我们希望避免使用不同算法签名的多组驱动程序,并根据操作系统确定要安装的设置 - 这将是我们的替代方法.
如果有人有完成此任务的经验,请解释您采取的方法.如果这是不可能的,那么可以理解为什么不可能的解释.