數位簽章自動化
在公司寫程式果然不一樣,出去都要加數位簽章以示負責。原本的做法是等程式編譯完成後,再以手動的方式加入,不過每次都要這樣加實在太麻煩了,所以就把它加入 Project Post-Build Event 中,這樣就可以達到自動化的目的了
首先把 Project Property Pages 叫出來,只有 Release Build 需要加數位簽章,所以 Configuration 選擇 Release 即可。打開 Build Events 的 Post-Build Event,把要執行的動作寫在 Command Line 中,順便在 Description 中輸入一些說明,以便在編譯的輸出中可以識別。
在輸入命令時,有一些巨集可以使用,其中 TargetPath 是輸出執行檔的名稱 (包含完整路徑),用在這裡剛剛好
命令說明如下:
signtool.exe sign /v /ac ..\..\SignTool\MSCV-GlobalSign.cer /s my /t "http://timestamp.globalsign.com/scripts/timstamp.dll" /du "http://www.company.com" /n COMPANY /a "$(TargetPath)"
首先把 Project Property Pages 叫出來,只有 Release Build 需要加數位簽章,所以 Configuration 選擇 Release 即可。打開 Build Events 的 Post-Build Event,把要執行的動作寫在 Command Line 中,順便在 Description 中輸入一些說明,以便在編譯的輸出中可以識別。
在輸入命令時,有一些巨集可以使用,其中 TargetPath 是輸出執行檔的名稱 (包含完整路徑),用在這裡剛剛好
命令說明如下:
signtool.exe sign /v /ac ..\..\SignTool\MSCV-GlobalSign.cer /s my /t "http://timestamp.globalsign.com/scripts/timstamp.dll" /du "http://www.company.com" /n COMPANY /a "$(TargetPath)"
- signtool 是 SDK 裡面的工具,所以不需要另外指定路徑了
- /ac 後面接的是一個額外的認證檔案,必須指定正確的路徑
- /t 後面接的是 timestamp 的 URL
- "$(TargetPath)" 則是要簽章的檔案,考慮到長檔名與空白的問題,所以前後加了雙引號
留言