Comodoからコード署名証明書を購入しました。 Inno Setup Installerで展開したい小さなMS Accessデータベースを構築しました。スクリプトは正常に実行されますが、コード署名は完全に初めてです。
インストールファイルに署名するにはどうすればよいですか?証明書に署名するには外部ソフトウェアが必要ですか、それともInno Setup内から署名できますか?
同様の質問への回答を検索しようとしましたが、開始するために必要なものとその方法を示すことができませんでした。
あなたがすることは非常に簡単です、それに沿ってやってみてください
signtool.exe sign/tr http://timestamp.digicert.com /td sha256/fd sha256/a $ p
最後の$ pに注意してください。InnoSetupはこれを必要とします...これを持っているはずです。signtoolへのパスを追加したことに注意してください。パス変数でexeを実行し、DigiCertのタイムサーバーを使用して署名にタイムスタンプを付けています。
スクリプトで、次のコードをセットアップセグメントに追加します
SignTool = MsSign $ f
この行は、コード署名を使用するようコンパイラーに指示します。これは、MsSignを呼び出した変数を使用し、セットアップによって生成された出力に署名します。
コマンドラインが署名を取得できるように署名ストアを準備し、コード署名の署名が1つしかないため、これに名前を付ける必要がないため、これは私にとってはうまくいきます。パラメーターは私のものとは異なる場合があります。最後に、セットアップが機能し、コードが署名される限り、それは問題ありません。
助けてあなたがそれを必要とすることを覚えていることを願っています$ p変数で
実行可能ファイル(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(x86)\ Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe"はMicrosoft署名ユーティリティへのパス( Microsoft SDKの一部)
Installer_Wizard_Code_Signing_Certificate.pfxが証明書です
password123は証明書のパスワードです
MySetupFile.exeは、署名するセットアップファイルです
すべてのファイルを1つのディレクトリ(証明書、署名のセットアップ、およびバッチファイル)に配置し、バッチファイルを実行します。 Signtoolは証明書でファイルに署名し、公式サーバーに対して有効性をチェックします。
(http://timestamp.verisign.com/scripts/timstamp.dllサーバーを使用できますが、Comodo証明書があれば問題ありません。 )
Microsoftからsigntool.exe
をダウンロードしてインストールしたら、前の回答のステップ3でパス変数に追加されていない場合は、signtool.exe
の完全パスを署名ツールのコマンドに入力します。
D:\GUI\signtool.exe sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /a $p