2013-10-03 167 views
8

我剛剛從Comodo購買了代碼簽名證書。我已經構建了一個小型MS Access數據庫,我想使用Inno Setup Installer進行部署。腳本運行良好,但我對代碼簽名完全陌生。InnoSetup - 代碼簽名證書

我該如何去簽署我的安裝文件?我需要一個外部軟件來簽署證書嗎,還是我可以從Inno Setup中完成?

我試圖尋找類似問題的答案,但沒有人能夠告訴我我需要開始什麼,以及如何去做。

+1

例如['這tutorial'(HTTP://blog.ksoftware .net/2011/07/how-to-automate-code-signing-with-innosetup-and-ksign /)可能會幫助您完成第一步。 – TLama

+2

當您回答時,您應該將其作爲答案發布。 :) – Miral

+0

@TLama鏈接已死(〜博客〜)這工作:http://support.ksoftware.net/support/solutions/articles/17169-how-do-i-automate-code-signing-with-innosetup- and-ksign- – SlowLearner

回答

10

要註冊的可執行文件(由Inno Setup的生成安裝人員)只需建立一個批處理文件(.bat),並把這個內容到它:

"c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe" sign /f Installer_Wizard_Code_Signing_Certificate.pfx /p password123 /t http://timestamp.verisign.com/scripts/timstamp.dll MySetupFile.exe 

其中

「C:\ Program Files文件( 86)\微軟的SDK \的Windows \ v7.0A \ BIN \ signtool.exe」是路徑微軟簽名實用微軟的SDK(部分)

Installer_Wizard_Code_Signing_Certificate.pfx是你的證書

password123是密碼證書

MySetupFile.exe是要簽署

把所有的文件在一個目錄(證書的安裝文件,安裝程序簽署,和批處理文件)並運行批處理文件。 Signtool用證書籤署文件並檢查官方服務器的有效性。

你要做的很簡單(可以使用http://timestamp.verisign.com/scripts/timstamp.dll服務器雖然你有魔島證書,也沒關係。)

+9

你爲什麼不建議Inno Setup的內部簽名支持?第三次,['here'](http://blog.ksoftware.net/2011/07/how-to-automate-code-signing-with-innosetup-and-ksign/)是一個教程,它描述瞭如何要做到這一點。它來自Comodo的經銷商,所以他們應該知道他們在談論什麼。 – TLama

+2

@TLama你的答案解決了我的問題。我遵循指示和編輯文本沒有任何單一的錯誤。感謝所有人以及Ksign背後的人們......它使一切變得如此簡單。 – mtn

+1

http://revolution.screenstepslive.com/s/revolution/m/10695/l/95041-signing-installers-you-create-with-inno-setup –

0

,試圖走allong

  1. 打開Inno Setup的選擇工具 - >配置標誌工具The sign tool dialog
  2. 單擊「添加..」併爲其命名,我們將其稱爲MsSign,因爲我使用Microsoft中的signtool.exe,現在應該有類似這樣的東西enter image description here
  3. 您被問及爲您使用的簽名,因爲我使用signtool.exe工具的命令行我會用

signtool.exe簽署/ TR http://timestamp.digicert.com/TD SHA256/FD SHA256/A $ p

注意最後的$ p,Inno Setup的需要這個...... 您現在應該有這個,而不是那個我已經加入到signtool.exe路徑我的路徑變量以及我正在使用DigiCert的時間服務器爲我的簽名加上時間戳。enter image description here

  • 在腳本中,你現在下面的代碼添加到建立段

    SignTool = MsSign $ F

  • 這條線,講述了編譯器使用代碼簽名,它將使用我稱爲MsSign的變量,並將簽名由安裝程序生成的輸出。

    它應該是這樣的 enter image description here

    當你看到生成的EXE,你會看到數字簽名 enter image description here

    現在,這對我的作品,因爲我已經準備好我的簽名店以這樣的方式命令行可以得到簽名,而且我只有一個代碼簽名簽名,所以我不需要命名它,您的參數可能與我的參數不同,並且沒關係,只要最終您的設置可以正常工作並且您的代碼得到簽名。

    希望有幫助,記住,你需要的是$ P在變量

    編碼快樂

    沃爾特