こちらではWindows SDKのsigntoolを利用して、カーネルモード向けのMicrosoft Authenticode署名を行う手順をご紹介いたします。
※弊社では以下の手順にて動作検証をおこなった際の一例をご紹介しており、動作を保証するものではございません。本手順について内容の変更等や誤りがあった場合、弊社では一切の責任を負いかねることを予めご了承ください。詳細は各ツールのドキュメント等をご参照ください。
※アプリケーション提供元にてサポートが終了している場合、正常に動作しない可能性があります。
動画でも署名方法についてご案内しております。
Microsoft社のデベロッパーセンターより、お客様の利用環境に対応するWindows SDKをダウンロードし、セットアップしていただきます。
デベロッパーセンター デスクトップ アプリ開発用ダウンロード
※SDKのサポートについては、マイクロソフト社にお問い合わせください。
コマンドプロンプトを「管理者として実行」で起動後、signtoolコマンドのパスに移動します。
C:¥>cd "¥Program Files (x86)¥Windows Kits¥8.1¥bin¥x86"
※パスの指定はお客様環境に合わせて変更ください。
※MS Authenticode対応コードサイニング証明書の場合、このパスに署名するファイルをコピーしておくと以降の作業が楽になります。
グローバルサイン用のクロス証明書「Globalsign Root CA.zip」を以下よりダウンロードし、「signtool.exe」と同じディレクトリに解凍しておきます。
※署名アルゴリズムでSHA256を選択した場合(またはEVコードサイニング証明書をご利用の場合)は、こちらの証明書もダウンロードし、証明書ストアの中間証明機関にインポートする必要があります。
「Windows環境で証明書をインポートする方法」をご確認ください。
※2015年3月現在、Windows Vista環境において署名アルゴリズムSHA256証明書(EVコードサイン含む)による64bitカーネルモード署名はサポートされておりません。引き続き署名アルゴリズムSHA-1証明書を利用する必要があります。
署名コマンドを実行します。
EVコードサイニング証明書/仕様変更後の「コードサイニング証明書」をご利用の場合
以下のコマンドをご参照ください。
SHA256の場合
signtool sign /v /ac "GlobalSign Root CA.crt" /a /n "Common Name" /tr タイムスタンプのURL※ /td sha256 filename.cat
SHA-1の場合
signtool sign /v /ac "GlobalSign Root CA.crt" /a /n "Common Name" /tr http://rfc3161timestamp.globalsign.com/standard filename.cat
仕様変更前の「MS Authenticode対応コードサイニング証明書」をご利用の場合
以下のコマンドをご参照ください。
SHA256の場合
signtool sign /v /ac "GlobalSign Root CA.crt" /f cert.pfx /p password /td sha256 /tr タイムスタンプのURL※ filename.cat
SHA-1の場合
signtool sign /v /ac "GlobalSign Root CA.crt" /f cert.pfx /p password /tr http://rfc3161timestamp.globalsign.com/standard filename.cat
タイムスタンプURLについて
署名ハッシュアルゴリズムSHA256のコードサイニング証明書(EVコードサイニング証明書)をご利用の場合は、タイムスタンプを「R3ルート用」と「R6ルート用」の2種類よりお選びいただけます。 R3ルート用とR6ルート用は、ルート搭載率(検証可能な環境)・有効期限・署名ハッシュアルゴリズム等に違いがあります。
ご利用の環境に応じて、いずれかのタイムスタンプをご利用ください。それぞれのタイムスタンプの詳細につきましては、下記の表をご参照ください。
R3ルート用タイムスタンプ
タイムスタンプURL | http://rfc3161timestamp.globalsign.com/advanced |
---|---|
ルート搭載環境 | Windows XP SP3 以降 Windows Server 2008 SP1 以降 |
有効期限 | 2029/3/18 |
署名ハッシュアルゴリズム | SHA256 |
R6ルート用タイムスタンプ
タイムスタンプURL | http://timestamp.globalsign.com/tsa/r6standard1 |
---|---|
ルート搭載環境 | Windows Vista 以降 Windows Server 2008 SP1 以降 |
有効期限 | 2034/12/10 |
署名ハッシュアルゴリズム | SHA384 |
補足:署名を検証するコマンド
signtool verify /kp /v filename.cat
※SHA-1証明書のご利用につきましては、Windows Vista以前の古いエンドユーザ環境をサポートする必要がある場合のみご利用ください。
署名ハッシュアルゴリズムの変更をご希望の場合は再発行をご利用ください。