CERT_USAGE_MATCH構造体 (wincrypt.h)

CERT_USAGE_MATCH構造は、証明書チェーンの構築に使用する発行者証明書を識別するための基準を提供します。

構文

typedef struct _CERT_USAGE_MATCH {
  DWORD             dwType;
  CERT_ENHKEY_USAGE Usage;
} CERT_USAGE_MATCH, *PCERT_USAGE_MATCH;

メンバー

dwType

実行する発行者の一致の種類を決定します。 AND ロジックでは、証明書はすべての条件を満たす必要があります。 OR ロジックでは、証明書は少なくとも 1 つの条件を満たす必要があります。 次のコードは、一致で使用されるロジックを決定するために定義されています。 この適用方法の詳細については、「解説」を参照してください。

意味
USAGE_MATCH_TYPE_AND
AND ロジック
USAGE_MATCH_TYPE_OR
OR ロジック
 

既定の使用一致ロジックはUSAGE_MATCH_TYPE_AND。

Usage

CERT_ENHKEY_USAGE構造体 (CERT_ENHKEY_USAGE は、有効にするために証明書が一致する必要がある証明書オブジェクト識別子 (OID) の配列を含む、CTL_USAGE構造体の代替 typedef 名です。

注釈

dwType メンバーが USAGE_MATCH_TYPE_OR に設定されている場合、Usage メンバーを空にすることはできません。

dwType メンバーが USAGE_MATCH_TYPE_AND に設定されている場合、空の Usage メンバーは、チェーン内の入れ子になった使用が機能することを意味します。

次に、2 つの拡張キー使用法 (EKU) 拡張機能 EKU A と EKU B を指定した動作について説明します。

AND ロジック

呼び出し元が EKU A と EKU B を指定した場合、EKU A と EKU B がパス内のすべての証明書 (明示的な EKU 設定によって、または CA 証明書に存在しない EKU 拡張によって) サポートされている場合、ターゲット証明書は有効です。

OR ロジック

呼び出し元が EKU A または EKU B を指定した場合、EKU A または EKU B のいずれかがパスでサポートされている場合、ターゲット証明書は有効です。

パス内の証明書に EKU A または EKU B が含まれている単純なケースに加えて、 OR 句には次の特別な評価があります。

次のパスを指定すると、 OR テストは有効と見なされます。

チェーン内の EKU の交差部分は空のセットですが、暗号化 API への要求では、パスの各証明書が EKU A または EKU B をサポートしている場合に証明書が有効であることが指定されるため、EKU A に対して EE 証明書の使用は有効です。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header wincrypt.h