Authenticode は、Authenticode 署名付きソフトウェアの発行元を識別する Microsoft コード署名テクノロジです。 Authenticode は、署名および公開されてからソフトウェアに変更がないことを確認します。
Authenticode では、暗号化手法を使用して、発行元の ID とコードの整合性を確認します。 デジタル署名と、証明機関 (CA) を含む信頼されたエンティティのインフラストラクチャを組み合わせて、指定された発行元からドライバーが生成されることをユーザーに保証します。 Authenticode を使用すると、デジタル署名の証明書を信頼されたルート証明書にチェーンすることで、ユーザーはソフトウェア発行元の ID を確認できます。
ソフトウェア発行元は Authenticode を使用して、デジタル証明書でドライバーまたはドライバー パッケージにタグを付けることによって署名します。 証明書は発行元の ID を検証し、コードの受信者がコードの整合性を検証できるようにします。 証明書は、ソフトウェア発行元を識別する一連のデータです。 CA は、その機関がソフトウェア発行元の ID を検証した後にのみ、証明書を発行します。 証明書データには、発行元の公開暗号化キーが含まれます。 証明書は通常、このような証明書のチェーンの一部であり、最終的には VeriSign などの既知の CA に参照されます。
Authenticode コード署名では、ドライバーの実行可能部分は変更されません。 代わりに、次のアクションが完了します。
埋め込み署名: 署名プロセスは、ドライバー ファイルの非実行部分内にデジタル署名を埋め込みます。 詳細については、「 ドライバー ファイルに埋め込まれた署名」を参照してください。
デジタル署名されたカタログ ファイル: 署名プロセスでは、ドライバー パッケージ内の各カタログ ファイル (.cat) の内容からファイル ハッシュ値を生成する必要があります。 このハッシュ値はカタログ ファイルに含まれます。 その後、カタログ ファイルは埋め込み署名で署名されます。 このようにして、カタログ ファイルはデタッチされた署名の一種です。
注
ハードウェア認定キット (HCK) には、さまざまな種類のデバイスのテスト カテゴリが含まれています。 HLK API リファレンスで、Windows Hardware Lab Kit (HLK) のテスト カテゴリの一覧を確認できます。 デバイスの種類のテスト カテゴリがこの一覧に含まれている場合、ソフトウェア発行元はドライバー パッケージの Windows Hardware Quality Labs (WHQL) リリース署名を取得する必要があります。 ただし、HCK にデバイスの種類のテスト プログラムがない場合、ソフトウェア発行元は Microsoft Authenticode テクノロジを使用してドライバー パッケージに署名できます。 詳細については、「一般リリースのドライバーの署名」をご参照ください。