コードサイニング証明書(ソフトウェアにデジタル署名を行う電子署名用の電子証明書)を使ったExePress6で作ったexeへの署名方法

COMODOJAPANとかでコードサイニング証明書を購入し、手続きを済ませたあとの手順。


■電子証明書及び秘密鍵の取出し方
IEでインターネットオプションを開く

コンテンツタブ内の「証明書」をクリック

バックアップしたい証明書を選択してエクスポート

以下を選択して進める
・はい、秘密キーをエクスポートします
・証明のパスにある証明書を可能であればすべて含む
 
パスワードはお好きなモノを設定

出力ファイル名もお好きにどうぞ。ここではsample.pfxとした。

■署名の仕方

・Windows SDKをインストールする
 win8.1 用SDK(https://msdn.microsoft.com/ja-jp/windows/desktop/bg162891.aspx)

・ExePress6の詳細設定で起動前の処理タブにて、自己解凍実行ファイルの正当性検査方法を「デジタル署名(Authenticode)をチェック」にする

・管理者権限で起動したコマンドプロンプトを起動する

・32bitのインストーラーなら以下のように実行。
  C:\Program Files (x86)\Windows Kits\8.1\bin\x86\signtool sign /f "sample.pfx" /p password "setup.exe"

・64bitのインストーラーなら以下のように実行。
  C:\Program Files (x86)\Windows Kits\8.1\bin\x64\signtool sign /f "sample.pfx" /p password "setup.exe"

・最後にベリファイして確認
  signtool verify /pa "setup.exe"

・キチンとインストーラーが動作するか実行してチェック
 自己解凍実行ファイルの正当性検査方法がCRCのままだと実行時エラーになるので、うっかりしないこと。

ネタ元