Microsoft Authenticode署名方法
本ページに記載されている手順は環境により異なる場合があり、実際の動作を保証するものではありません。
アプリケーションやツールなどの仕様や設定手順等でご不明な点がある場合は、それらのマニュアルをご確認いただくか、提供元にご連絡ください。
※この手順によって生じた影響や結果について、弊社では一切の責任は負いかねます。
Windows signtoolの入手
このページでは、Windows7・Windows8・Windows10でのWindows signtoolを使ったMicrosoft Authenticodeの署名方法について説明しています。
OSがVistaの場合は、デジタル署名ウィザードでMicrosoft Authenticodeに署名する方法を参照してください。
SignToolでの署名手順
SignTool.exe コマンドは、以下のどちらかの方法で使います。
- ケースA
DigiCert コードサイニング証明書をWindows証明書ストアにインストールしてから使う
- ケースB
DigiCert コードサイニング証明書 .pfx ファイルを直接使う
※signtool.exeは一般には以下の場所に置かれています。
Windows7の場合
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin
Windows8の場合
C:\Progrram Files(x86)\Windows Kits\8.0\bin\x86
Windows10の場合は
C:\Program Files (x86)\Windows Kits\10\bin\x86
-
お送りするコードサイニング証明書は your_name.pfx のような名称のPFX形式の証明書です。
これを署名を行うマシンの安全な位置に保存してください。ファイル名は任意で変更できます。
-
DigiCertコードサイニング証明書をインポートするを参照し、証明書をWindows証明書ストアにインストールしてください。
-
Windowsのコマンドプロンプトで、signtool.exeが置かれているフォルダに移動し、以下のコマンドを実行してください。
C:\> signtool sign /t http://timestamp.digicert.com /a "c:\path\to\file.exe"
大きい画像を見る
※/t がタイムスタンプを追加するオプションで、 http://timestamp.digicert.com がタイムスタンプサーバーです。
※/a は Windows証明書ストアに複数の証明書がインストールされている場合、最適な証明書を自動的に選択します。最適な証明書とは
「指定された全ての条件を満たす有効な証明書のうち、有効期限が最長のもの」のことです。
※c:\path\to\file.exe が署名対象のコードです。
※複数の証明書がインストールされている場合、以下のように /i オプションで DigiCert発行の証明書を使うよう指定することもできます。
C:\> signtool sign /t http://timestamp.digicert.com /i DigiCert "c:\path\to\file.exe"
大きい画像を見る
デフォルトのハッシュ関数はSHA-1ですが、/fd sha256オプションでハッシュ関数SHA256(SHA-2)を指定できます(古いバージョンのsigntoolでは/fdオプションが無いこともあります。その場合は新しSDKで入手してください)。
-
署名が成功すると “Successfully signed and timestamped: c:\path\to\file.exe” と表示されます。
※お送りしたコードサイニング証明書が c:\users\username\DigicertCodeSigning.pfx として保存されたものとします。
-
Windows のコマンドプロンプトでsigntool.exeが置かれているフォルダに移動し、以下のコマンドを実行してください。
C:\> signtool sign /t http://timestamp.digicert.com /f "c:\users\username\DigicertCodeSigning.pfx" /p pfxpassword "c:\path\to\file.exe"
大きい画像を見る
※/t がタイムスタンプを追加するオプションで、http://timestamp.digicert.com がタイムスタンプサーバーです。
※/f は利用する証明書を指定するオプションで、c:\users\tadao\DigicertCodeSigning.pfx が証明書です。
※/p はパスワードを指定するオプションで、pfxpasswordは納品時にお知らせしたパスワードで置き換えてください。
※c:\path\to\file.exe が署名対象のコードです。
デフォルトのハッシュ関数はSHA-1ですが、/fd sha256オプションでハッシュ関数SHA256(SHA-2)を指定できます(古いバージョンのsigntoolでは/fdオプションが無いこともあります。その場合は新しSDKで入手してください)。
-
署名が成功すると “Successfully signed and timestamped: c:\path\to\file.exe” と表示されます。
署名内容の確認
正しく署名されているかを確認する場合は、署名内容の確認方法の手順に従ってください。