我一直在使用SHA1簽名多年,但從2016年起,Windows迫使開發人員使用SHA256。如何在Windows 7上使用SHA256設置signtool?
Windows Enforcement of Authenticode Code Signing and Timestamping
通過使用Windows 7 SDK signtool職能簽署SHA-256是「未知的命令」,所以這是signtool過時的signtool,不應該被使用了。
用SHA256簽名我下載了Windows 8.1 SDK以獲得具有新功能(/ fd和其他一些功能)的signtool.exe。 BAT文件和signtool可以在Windows 8和Windows 10上運行,所以我知道它可以工作,但是在Windows 7嘗試爲文件添加時間戳時崩潰。
我用一個bat文件簽署文件,它看起來像這樣(我編輯的BAT文件,所以它不顯示變量,完整路徑,公司名和密碼):
Path\signtool.exe sign /f "Path\Certificate.p12" /fd sha256 /p *password* /du "URL" /tr "timestampServer?td=sha256" /td sha256 /d "Product name" "Filename"
我想,我沒有合適的SDK來支持一些功能,但我無法找到任何有關如何在Windows 7上設置此信息的信息。我試圖安裝MS Visual C++ 2015 Redistributable (x64)在我的機器上而不解決問題。
我已經安裝了Visual Studio 2015年在我的Windows 7,這樣做是爲了讓所有的包和工具。 signtools在我的Windows 7上都沒有工作:8.1_x86,8.1_x64,10_x86和10_x64。如果我得到時間,我會嘗試調試該程序,因爲這使我瘋了。 –