DigiCert証明書の正規代理店株式会社アールエムエス
DigiCertコードサイニング証明書 サポート
DigiCert サーバー証明書利用団体
  1. ホーム
  2. コードサイニング証明書
  3. サポート
  4. Windowsドライバ署名方法(カーネルモード)

Windowsドライバ署名方法(カーネルモード)

本ページに記載されている手順は環境により異なる場合があり、実際の動作を保証するものではありません。
アプリケーションやツールなどの仕様や設定手順等でご不明な点がある場合は、それらのマニュアルをご確認いただくか、提供元にご連絡ください。
※この手順によって生じた影響や結果について、弊社では一切の責任は負いかねます。

Kernel-Mode証明書のインストールと利用方法ガイド

非EV
EVコードサイニング証明書を利用する場合は、EVコードサイニング証明書でWindowsドライバーに署名する方法を参照してください。

コードサイニング証明書では、以下の手順で署名を行います。

  1. コードサイニング証明書のインストール
  2. Windows signtoolの入手
  3. クロスルート証明書のダウンロードと設置
  4. Windowsハードウェア認定
  5. コードサイニング証明書でドライバーに署名する
コードサイニング証明書を使ってドライバーに署名する場合は、Microsoft Kernel-Modeコードサイニング証明書をオーダーしてください。それ以外のタイプを取得した場合は、Microsoft Kernel-Modeコードサイニング証明書の再発行をご依頼ください。

コードサイニング証明書のインストール

コードサイニング証明書は、メールにてダウンロードURLをお送りする形で納品します。
メール内のリンクからコードサイニング証明書をダウンロードしてください。 ダウンロードした証明書をエクスポート/インポートする方法については、以下ページを参照してください。

Windows signtoolの入手

Windows Vistaの場合
署名手順そのものが Windows7以降とは異なります。
デジタル署名ウィザードでMicrosoft Authenticodeに署名する方法を参照してください。
Windows7の場合
SignToolはWindows SDKに含まれています。
インストールされていない場合は、Microsoft Windows SDK for Windows 7 and .NET Framework 4からダウンロードし、インストールしてください。
Windows8の場合
SignToolはWindows SDKに含まれています。
インストールされていない場合は、Windows8用Windowsソフトウェア開発キット (Windows SDK) からダウンロードし、インストールしてください。
Windows 10の場合
SignToolはWindows SDKに含まれています。
インストールされていない場合は、Windows10用Windowsソフトウェア開発キット (Windows SDK) からダウンロードし、インストールしてください。

クロスルート証明書のダウンロードと設置

以下のリンクからクロスルート証明書をダウンロード・展開し、適当なディレクトリに「DigiCert High Assurance EV Root CA.crt」の名称で保存してください。

Windows ハードウェア認定

MicrosoftのMicrosoft Kernel-Mode Code Signing を参照してください。

Windows デベロッパー センター ハードウェア ダッシュボードの利用については、ダッシュボード サービス を参照してください。
Windows ハードウェア認定キット (HCK) 8.1については WHCKを参照してください。

コードサイニング証明書でドライバーに署名する

  1. Windows のコマンドプロンプトで、signtool.exeが置かれているフォルダに移動し、以下のコマンドを 実行してください。
    C:\Program Files (x86)\Windows Kits\10\bin\x86> signtool sign /ac "DigiCert High Assurance EV Root CA.crt" /t http://timestamp.digicert.com /a "c:\path\to\FileToSign.cat"
    /ac がクロスルート証明書を指定するオプションで、 「DigiCert High Assurance EV Root CA.crt」 がクロスルート証明書です。
    /t がタイムスタンプを追加するオプションで、 http://timestamp.digicert.com がタイムスタンプサーバーです。
    /a は Windows証明書ストアに複数の証明書がインストールされている場合、最適な証明書を自動的に選択します。最適な証明書とは「すべての有効な証明書のうち、指定されたすべての条件を満たすものの中で、有効期間が最長の証明書」のことです。
    c:\path\to\FileToSign.cat が署名対象のファイルです。
    「DigiCert High Assurance EV Root CA.crt」(クロスルート証明書)がコマンド実行ディレクトリに保存されている例です。他のディレクトリの場合はフルパスで指定してください。
    signtool signオプションの詳細は、Microsoft MSDNライブラリSignTool.exe(署名ツール)sign コマンドオプションを参照してください。
    デフォルトのハッシュ関数はSHA-1ですが、/fd sha256 オプションでハッシュ関数SHA256(SHA-2)を指定できます(古いバージョンのsigntoolでは/fdオプションが無いこともあります。その場合は新しSDKで入手してください)。
    ※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
  2. 署名が成功すると "Successfully signed and timestamped: c:\path\to\FileToSign.cat" と表示されます。
デジタル証明書ニュース
digicert.comトピックス&ニュース