質問
EVコードサイニング証明書を使用して、Microsoft Windows ソフトウェアに署名する方法を教えてください。
回答
EVコードサイニング証明書を使用してソフトウェアに署名するには、以下を最初にダウンロードしてインストールします。
Sign Tool がサポートする、オプションを以下に例として示します。
コマンドラインを使った署名
コマンドラインを使った署名の手順は以下の通りです。
1. コンピューターにSafenet USB トークンを接続します。
2. 「スタート」 > 「ファイル名を指定して実行」
3. 「CMD」と入力して、 > OKをクリックします。
4. コマンドプロンプト画面がひらいたら、signtoolがあるディレクトリへ移動します。
cd C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin
5. 以下のコマンドの一つを実行します。
•タイムスタンプありの場合
signtool.exe sign /fd sha256 /s my /tr http://timestamp.digicert.com /v "C:\filename.dll"
signtool.exe sign /fd sha256 /sha1 SHA1_hash_value /tr http://timestamp.digicert.com /v "C:\filename.dll"
•タイムスタンプなしの場合
signtool.exe sign /fd sha256 /s my /v "C:\filename.dll"
signtool.exe sign /fd sha256 /sha1 SHA1_hash_value /v "C:\filename.dll"
6. 上述のコマンドを実行した場合、以下のダイアログが表示され、トークンパスワードの入力を求められます。
[FAQ] Safenet トークンのシングルログオンを有効にする
シングルログオンを有効化してログオンしておけば、トークンパスワードの入力なしで署名をバッチ処理できるようになります。
7. トークンパスワードを入力して「OK」をクリックします。ファイルへの署名が成功した旨のメッセージが表示されます。
署名の検証
SDK SIGNTOOL.EXE ユーティリティには、ファイルを配布する前にデジタル署名をチェックする機能があります。
1. 「スタート」 > 「ファイルを指定して実行」
2. 「CMD」 とタイプして > OKをクリックします。
3. コマンドプロンプトから、signtool.exe があるディレクトリへ移動します。
4. 以下を実行します。
signtool.exe verify /pa /v "C:\filename.dll"
signtoolの詳細情報は以下のマイクロソフトのナレッジベースも参考にしてください。
https://msdn.microsoft.com/ja-jp/library/windows/hardware/ff557573
http://msdn.microsoft.com/en-us/library/aa388170(英語)
http://msdn.microsoft.com/en-us/library/aa387764(v=VS.85).aspx (英語)