Solution
必ずお読みください
このページではMicrosoft 社 Authenticode 署名ツール ( Signtool.exe ) を利用した基本的なデジタル署名の手順を説明しています。
署名ツールの詳細や不明点、エラーに関する内容は署名ツールの提供元であるマイクロソフト社へご確認ください。
ご確認ください
- 署名ツールのダウンロードおよびインストールが完了していない場合は、以下のサイトよりダウンロードの上、インストールします。
Windows SDK
- Windows SDKに含まれるSigntool.exeではウィザード形式での署名をサポートしていません。
Windows SDKをご利用の場合はコマンドラインで署名を行ってください。
コマンドラインで署名
- ウィザード形式で署名を行う場合は以下のPlatform SDKに含まれるSigntool.exeを利用してください。
Platform SDK
- [クロスルート証明書を含めて署名をしなければならない場合]
署名を行う環境の証明書ストア「 信頼されたルート証明書機関 」へVeriSign Class 3 Public Primary Certification Authority - G5がインストールされている場合、クロスルート証明書を含めて署名ができません。
クロスルート証明書を含めて署名をする必要がある場合は、VeriSign Class 3 Public Primary Certification Authority - G5を無効化してください。
VeriSign Class 3 Public Primary Certification Authority - G5の無効化手順は以下のサイトを参照してください。
VeriSign Class 3 Public Primary Certification Authority - G5の無効化
コマンドラインでの署名方法
※インストール先やバージョンによってコマンドが異なりますので、環境にあわせて内容を変更してください。
- コマンドプロンプトを起動しsigntool.exeのあるディレクトリへ移動します。
cd c:¥Program Files¥Microsoft SDKs¥Windows¥v7.1¥Bin |
- signtool.exeを実行します。
signtool.exe sign /a /v <署名するファイル> |
※/aオプションを指定すると自動的に最適な証明書ファイルが、PC上の証明書ストアから選択されて署名されます。
バックアップされたpfxファイルを使う場合や、複数証明書が搭載されている環境の場合は、以下のように直接指定してください。
- 直接pfxファイルを指定する場合は /f と /p オプションを使用します。
signtool.exe sign /f <pfx証明書ファイル名> /p <pfx証明書パスワード> /v <署名するファイル> |
- Timestampを追加する場合は /t オプションを追加の上、タイムスタンプサーバのURLを入力します。
タイムスタンプサーバのURL
http://timestamp.verisign.com/scripts/timstamp.dll
sha256のタイムスタンプは以下をご利用ください。(オプションは /t ではなく、 /tr を使います)
http://sha256timestamp.ws.symantec.com/sha256/timestamp
signtool.exe sign /f <pfx証明書ファイル名> /p <pfx証明書パスワード> /t <タイムスタンプURL> /v <署名するファイル> |
- Window7以降のWindows SDKでは、/fd オプションで署名アルゴリズムを指定することが可能です。
SHA-2(sha256)ハッシュアルゴリズムで署名する例
signtool.exe sign /fd sha256 /f <pfx証明書ファイル名> /p <pfx証明書パスワード> /t <タイムスタンプURL> /v <署名するファイル> |
SHA-1、SHA-256の両ハッシュアルゴリズムで署名をする必要がある場合は、以下を参考にしてください。
signtool.exe sign /f <pfx証明書ファイル名> /p <pfx証明書パスワード> /t http://timestamp.verisign.com/scripts/timstamp.dll /v <署名するファイル> signtool.exe sign /fd sha256 /f <pfx証明書ファイル名> /p <pfx証明書パスワード> /as /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /v <署名するファイル> |
ウィザード形式での署名方法
以下、コマンドを入力しデジタル署名ウィザードを起動します。
cd c:¥program files¥microsoft platform SDK¥Bin signtool signwizard |

- ファイルを選択します。

- 通常(T)を選択して次へ進みます。

- 証明書を選択する画面が表示されますので、「ストアから選択」ボタンをクリックします。

- 署名に利用する証明書を選択します。
複数表示される場合は、発行者、有効期間などから署名に利用する証明書を選択します。

- 選択した証明書が正しいことを確認します。

- 署名つきコードの説明や、設置するウェブサイトのURL情報などを必要に応じて入力します。
※省略可能です。

- タイムスタンプサービスを利用する場合は、署名を付けた時間情報を付与するために、タイムスタンプサーバの情報を入力します。
タイムスタンプサーバのURLは以下となります。
http://timestamp.verisign.com/scripts/timstamp.dll
スペル間違いにご注意ください。

- デジタル署名ウィザードが完了します。

- 以下の画面がでれば署名作業は終了です。コマンドプロンプトを終了してください。
