双标志SHA2和SHA1时为什么signtool.exe不支持/作为选项

时间:2016-03-02 09:05:57

标签: signtool

当双符号SHA2和SHA1

时,我收到/作为选项的错误
signtool sign /v /n "name" /sha1 "sha1 hash" /t http://timestamp.verisign.com/scripts/timstamp.dll my.exe
signtool sign /v /n "name" /sha1 "sha1 hash for sha256" /as /fd sha256 /tr http://timestamp.geotrust.com/tsa /td sha256 my.exe
  

SignTool错误:无效选项:/ as

我想如果我的signtool.exe版本不支持/作为选项?我使用signtool.exe版本是6.1.7600.16385 BTY,我可以在没有/作为选项的情况下成功签署SHA2。

3 个答案:

答案 0 :(得分:2)

我使用signtool的更高版本6.2.9200.20527时双标志文件成功。 signtool属于windows sdk 8 https://dev.windows.com/en-us/downloads/windows-8-sdk。我想上面的更高版本的Windows 8 sdk也可以支持/作为选项。

答案 1 :(得分:0)

你需要Windows 8/10,至少目前在Windows 7下是不可能的,这真的很奇怪。即使您将在Windows 7下使用较新的signtool二进制文件(例如从SDK 10),仍然无法使用/作为开关。

答案 2 :(得分:0)

我猜这个问题的实际原因是:signtool.exe与mssign32.dll和wintrust.dll相关联。这些dll位于%WinDir%\ system32下,而Windows 7似乎不支持双重签名。 WinSDK 8.x在与signtool.exe相同的文件夹中附带了自己的这些dll版本。双重签约工作!对于较旧的SDK版本,它没有。我刚刚在我的Windows 7上安装了WinSDK 10,并且它再次不再起作用,因为这个SDK不再带有上面提到的dll自己的版本。我猜这就是为什么其他人认为它可以在Windows 8.x及更高版本下运行,因为这里的mssign32.dll更新......