我正在使用signtool.exe簽署exe文件。 我想嵌入我的exe文件與.pfx證書以及exe的簽名散列(使用openssl生成簽名散列)。我只能用證書籤名。但我需要將簽名散列嵌入到exe中。可能signtool.exe符號/如可能有所幫助。 /作爲選項不指望任何參數,所以不能通過我的散列在那裏。如何在signtool.exe中將散列嵌入到exe文件中
有人可以幫我簽署我的證書和散列的exe文件。
感謝,
我正在使用signtool.exe簽署exe文件。 我想嵌入我的exe文件與.pfx證書以及exe的簽名散列(使用openssl生成簽名散列)。我只能用證書籤名。但我需要將簽名散列嵌入到exe中。可能signtool.exe符號/如可能有所幫助。 /作爲選項不指望任何參數,所以不能通過我的散列在那裏。如何在signtool.exe中將散列嵌入到exe文件中
有人可以幫我簽署我的證書和散列的exe文件。
感謝,
隨Windows SDK 10的Signtool的版本包括嵌入簽署散列成exe文件的能力。
從以下頁面: https://vcsjones.com/2017/05/07/custom-authenticode-signing/
開始在Windows 10 SDK,兩個新的命令行開關可用,
dg
和di
。回想一下簽名總是在Authenticode上的散列上執行。dg
選項更改signtool的行爲以輸出摘要,您可以使用您想要的任何內容進行簽名。讓我們嘗試一下notepad.exe的副本。
signtool sign /dg "C:\scratch\dir" /fd SHA256 /f public-cert.cer notepad.exe
這需要一個文件到一個公共證書 - 存在 公共cert.cer沒有鑰匙。您還可以使用
/sha1
選項在僅具有公鑰的證書庫中指定 證書。 這將在「C:\ scratch \ dir」目錄中輸出幾個文件。 摘要是擴展名爲「.dig」的摘要。該文件將具有 Base64編碼摘要進行簽名。接下來,使用您的自定義工具,使用證書的私鑰簽署 摘要。如果簽名API需要原始 二進制摘要,則應在簽名前解碼 Base64簽名。接下來,在base64中對您的簽名進行編碼,並將其放在 「C:\ scratch \ dir」目錄中,其文件名與摘要文件同名, 爲「signed」擴展名。例如,「notepad.exe.dig.signed」。
下一步是將簽名摘要以及其他 Authenticode簽名一起提取以完成簽名。
signtool sign /di "C:\scratch\dir" notepad.exe
這樣就完成了簽約過程中,我們現在擁有的notepad.exe我們自己簽署 副本。追加簽名的方式與之前一樣, ,但
/as
標誌除外。這爲簽名者使用非CSP/CNG 簽名選項或卸載簽名過程提供了很大的靈活性。現在,Signtool 也可以使用
/ds
選項對簡單摘要文件進行簽名。如果您有執行驗證碼簽署一個 專用服務器,您現在可以使用 的/dg
,/ds
,/di
選項,這樣只有一個非常小的文件需要 移動到簽名服務器,而不是完全二元如果他們 是體積很大。