Share via


埋め込み署名を使用したドライバー バイナリのテスト署名

署名された カタログ ファイルは 、ほとんどの ドライバー パッケージを正しくインストールして読み込むために必要なすべてです。 ただし、一部のシナリオでは、ドライバー パッケージ内の一部のバイナリの埋め込み署名も必要になる場合があります。 埋め込み署名とは、カタログ ファイル内のデジタル署名に依存するのではなく、ドライバーのバイナリ イメージ ファイル自体にデジタル署名を追加することを指します。 その結果、ドライバーが埋め込み署名されると、ドライバーのバイナリ イメージが変更されます。

ドライバーがブートスタート ドライバーである場合は常に、カーネル モード バイナリの埋め込み署名が必要です。 64 ビット バージョンの Windows Vista 以降のバージョンの Windows では、カーネル モード コード署名の要件は、ブートスタート ドライバーに埋め込み署名が必要であることを示しています。 これは、PnP デバイス インストール署名要件を満たす 必要があるドライバー パッケージのカタログ ファイルに加えてであることに注意してください。

カタログ ファイルと同様に、SignTool ツールは、テスト証明書を使用して、カーネル モードのバイナリ ファイル内にデジタル署名を埋め込むために使用されます。 次のコマンド ラインは、SignTool を実行して次の操作を行う方法を示しています。

  • Toastpkg サンプルのバイナリ ファイル (toaster.sys) の 64 ビット バージョンをテスト署名します。 WDK インストール ディレクトリ内では、このファイルは src\general\toaster\toastpkg\toastcd\amd64 ディレクトリにあります。

  • テスト署名には、PrivateCertStore の Contoso.com(Test) 証明書を使用します。 この証明書の作成方法の詳細については、「テスト証明書の作成」を参照してください。

  • タイム スタンプ機関 (TSA) を介してデジタル署名にタイムスタンプを付けます。

toaster.sys ファイルにテスト署名するには、次のコマンド ラインを実行します。

Signtool sign /v /fd sha256 /s PrivateCertStore /n Contoso.com(Test) /t http://timestamp.digicert.com amd64\toaster.sys

ここで:

  • 署名コマンドは、指定されたカタログ ファイル (tstamd64.cat) に署名するように SignTool を設定します。

  • /v オプションは、SignTool が正常な実行と警告メッセージを表示する詳細な操作を有効にします。

  • /fd オプションは、ファイル署名を作成するために使用するファイル ダイジェスト アルゴリズムを指定します。 既定値は SHA1 です。

  • /s オプションは、テスト証明書 ( PrivateCertStore ) を含む証明書ストアの名前を指定します。

  • /n オプションは、指定した証明書ストアにインストールされている 証明書 ( Contoso.com(Test )) の名前を指定します。

  • /t オプションは 、 デジタル署名のタイムスタンプを設定する TSA (http://timestamp.digicert.com) の URL を指定します。

重要

タイム スタンプを含めると、署名者のコード署名秘密キーが侵害された場合に備え、キーの失効に必要な情報が提供されます。

  • amd64\toaster.sys は、埋め込み署名されるカーネル モード バイナリ ファイルの名前を指定します。

SignTool とそのコマンド ライン引数の詳細については、SignToolを参照してください。

埋め込み署名を使用してドライバーにテスト署名する方法の詳細については、「ドライバー ファイルのテスト署名」を参照してください。