2016-03-02 71 views
1

選項我得到了錯誤約/作爲選項時,雙標誌SHA2和SHA1爲什麼signtool.exe不支持/爲而雙標誌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 Error: Invalid option: /as

我想,如果我的signtool.exe版本不支持/作爲選項?我使用signtool.exe版本是6.1.7600.16385 BTY,我可以成功地簽署SHA2成功/不作爲選項。

+0

BTY,我在Windows 7或Windows Server 2008中使用signtool.exe。 –

回答

1

我可以成功的雙重簽名文件,而我使用signtool的更高版本6.2.9200.20527。 signtool屬於windows sdk 8 https://dev.windows.com/en-us/downloads/windows-8-sdk。我猜想,Windows 8 sdk以上的更高版本也可以支持/作爲選項。

+0

你說你設法在Windows 7下雙重簽名(SHA1 + SHA256)文件?使用SHA256時間戳?如果是,請提供完整的命令。 – CodeX

0

你需要Windows 8/10,至少現在在Windows 7下是不可能的,這真的很奇怪。即使您將在Windows 7下使用較新的signtool二進制文件(例如SDK 10),仍然無法使用/作爲開關。

+0

這是不正確的。我在這個時候在Windows 7機器上做了一個雙重標誌,它工作正常。關鍵是要使用支持雙重簽名的更新版本的signtool。在我的情況下,我在Windows 7機器上安裝了Windows 8.1 SDK。該SDK包括一個版本,支持雙簽名signtool的。 –

0

我想對這個問題的實際原因是這樣的:signtool.exe與mssign32.dll和wintrust.dll聯繫。這些DLL文件在%WINDIR%\ SYSTEM32和Windows 7中似乎不支持雙簽名。 WinSDK 8.x自帶版本的這些dll與signtool.exe位於同一個文件夾中。這裏有雙重簽名作品!使用較舊的SDK版本不會。我剛剛在Windows 7上安裝了WinSDK 10,並且再也無法繼續工作,因爲此SDK不再提供上述自己的dll版本。我想這就是爲什麼別人認爲它可以在Windows 8.x及更高版本下工作,因爲這裏的mssign32.dll更新...