1. 程式人生 > >微軟程式碼簽名證書使用指南(SignTool)

微軟程式碼簽名證書使用指南(SignTool)

本使用指南演示如何使用 WoSign微軟程式碼簽名證書 來給Windows平臺程式碼簽名,簽名工具為WDK自帶的簽名工具軟體 SignTool.exe,此簽名工具軟體僅支援DOS命令符方式簽名。如果您希望使用圖形化介面簽名您的程式碼,則建議使用老版本的簽名工具 SignCode.exe,並請參考 SignCode微軟程式碼簽名指南。

1. 獲取程式碼簽名證書:
成功在沃通申請程式碼簽名證書後,會得到一個有密碼的壓縮包檔案,輸入證書密碼後解壓得到兩個檔案: pfx+MS、 pvk+spc,這個是證書的兩種種格式,簽名普通程式碼需要用到 pfx 格式的證書:
微軟程式碼簽名證書使用指南(SignTool)

2. 解壓證書檔案:
開啟 pfx+MS 檔案可以看到3個檔案。我們要用到pfx格式的檔案,如圖
微軟程式碼簽名證書使用指南(SignTool)

3. 用SignTool簽名工具簽名(方法一):

現在,就可以使用WDK的 SignTool 簽名你的檔案了,點這裡 下載 Signtool簽名工具。請先將您的證書XXX.pfx檔案放到簽名signtool工具所在目錄簽名命令列為:

XP,Win7使用者:signtool sign /v /f xxx.pfx /p 密碼 /t http://timestamp.wosign.com/timestamp test.cab

Win7,Win8使用者:signtool sign /v /f xxx.pfx /p 密碼 /tr http://timestamp.wosign.com/rfc3161 test.cab

其中:

(1) /v:顯示詳細的簽名結果;

(2) /f xx.pfx:載入程式碼簽名證書。請把頒發給你的使用者證書放到signtool目錄下,或者指定檔案路徑;

(3) /p 密碼:申請證書時候設定的密碼;

(4) /t,/tr:為程式碼加上WoSign免費時間戳,確保簽名後的程式碼永不過期;

(5) test.cab: 就是您要簽名的Windows檔案,如:.cab, .dll, .exe 等檔案;

(6) 如果您需要批量簽名: 請點選這裡

請注意:簽名時,一定要保證能連上網際網路,否則由於無法訪問時間戳伺服器而失敗。

簽名完成後,如果顯示“Successfully signed and timestamped”(成功簽名與加上時間戳),如下圖所示,這表明簽名已經成功:
微軟程式碼簽名證書使用指南(SignTool)

用SignTool簽名工具簽名(方法二):

請先將您的證書XXX.pfx檔案安裝到windows系統中的mmc,簽名命令列為:

XP,Win7使用者:signtool sign /v /s my /t http://timestamp.wosign.com/timestamp test.cab

Win7,Win8使用者:signtool sign /v /s my /tr http://timestamp.wosign.com/rfc3161 test.cab

其中:

(1) /v:顯示詳細的簽名結果;

(2) /s:載入程式碼簽名證書。請把頒發給你的使用者證書安裝到mmc中的使用者賬戶中;

(3) /t,/tr:為程式碼加上WoSign免費時間戳,確保簽名後的程式碼永不過期;

(4) test.cab:就是您要簽名的Windows檔案,如:.cab, .dll, .exe 等檔案;

(5) 如果您需要批量簽名:請 點選這裡

請注意:簽名時,一定要保證能連上網際網路,否則由於無法訪問時間戳伺服器而失敗。

簽名完成後,如果顯示“Successfully signed and timestamped”(成功簽名與加上時間戳),如下圖所示,這表明簽名已經成功:
微軟程式碼簽名證書使用指南(SignTool)

您還可以使用以下命令驗證簽名是否完全正確:

signtool verify /v /pa test.cab

如果顯示如下圖一樣的證書籤名資訊,則說明簽名完全沒有問題!請注意:必須要有圖示正確的4級證書籤名路徑,第1級為:StartCom Certificate Authority;第2級為:Certification Authority of WoSign;第3級為:WoSign Class 2 Code Signing CA(單位程式碼簽名證書是class 3); 第4級為WoSign頒發給您的公司的微軟程式碼簽名證書, 如果證書公司名稱為中文,則在簽名工具中顯示不出來(為空),但這並不影響簽名效果。
微軟程式碼簽名證書使用指南(SignTool)

經驗證簽名成功後可以放到網站上了。請注意:簽名後的CAB檔案放到網站上需要使用 object 方式。同時,請注意:不能僅簽名CAB檔案,CAB包中所有DLL檔案都要先簽名後再打包,再簽名CAB檔案,否則IE瀏覽器會顯示為“未驗證的發行者”而影響正常使用,甚至防毒軟體會認為是毒而被刪除!