CERT_CHAIN_POLICY_STATUS構造体 (wincrypt.h)
CERT_CHAIN_POLICY_STATUS構造体には、証明書チェーンの検証時に CertVerifyCertificateChainPolicy 関数によって返される証明書チェーンの状態情報が保持されます。
構文
typedef struct _CERT_CHAIN_POLICY_STATUS {
DWORD cbSize;
DWORD dwError;
LONG lChainIndex;
LONG lElementIndex;
void *pvExtraPolicyStatus;
} CERT_CHAIN_POLICY_STATUS, *PCERT_CHAIN_POLICY_STATUS;
メンバー
cbSize
この構造体のサイズ (バイト単位)。
dwError
検証プロセス中にエラーまたは無効な条件が検出されたことを示す 値。 このメンバーの値は、CertVerifyCertificateChainPolicy 関数の pszPolicyOID パラメーターの値で指定されたポリシーの種類に固有です。
基本ポリシー エラー (CERT_CHAIN_POLICY_BASE)
値 | 説明 |
---|---|
|
証明書の署名を検証できません。 |
|
証明書または署名が取り消されました。 |
|
証明書チェーンは正しく処理されましたが、 信頼プロバイダーによって信頼されていないルート証明書で終了しました。 |
|
ルート証明書はテスト証明書であり、ポリシー設定ではテスト証明書が許可されません。 |
|
証明書のチェーンが正しく作成されませんでした。 |
|
証明書が要求された使用法に対して無効である。 |
|
必要な証明書が有効期間内にありません。 |
|
証明書の名前が無効です。 許可されたリストに名前が含まれていないか、明示的に除外されています。 |
|
証明書のポリシーが無効です。 |
|
証明書の基本的な制約が無効であるか、存在しません。 |
|
証明書は、CA で指定された目的以外の目的で使用されています。 |
|
認定チェーンの有効期間が正しく入れ子になりません。 |
|
失効関数は、証明書の失効をチェックできませんでした。 |
|
失効サーバーがオフラインであったため、失効関数が失効を確認できませんでした。 |
基本的な制約ポリシー エラー (CERT_CHAIN_POLICY_BASIC_CONSTRAINTS)。
値 | 説明 |
---|---|
|
証明書の基本的な制約が無効であるか、存在しません。 |
Authenticode ポリシー エラー (CERT_CHAIN_POLICY_AUTHENTICODE と CERT_CHAIN_POLICY_AUTHENTICODE_TS)。
これらのエラーは、基本ポリシー エラーに加えて発生します。
値 | 説明 |
---|---|
|
証明書は、発行元 CA によって指定された目的以外の目的で使用されています。 |
|
証明書は、発行者によって明示的に取り消されました。 |
|
失効プロセスを続行できず、証明書を確認できませんでした。 |
SSL ポリシー エラー (CERT_CHAIN_POLICY_SSL)。
これらのエラーは、基本ポリシー エラーに加えて発生します。
値 | 説明 |
---|---|
|
証明書チェーンは正しく処理されましたが、 信頼プロバイダーによって信頼されていないルート証明書で終了しました。 |
|
証明書の CN 名が、渡された値と一致しません。 |
|
証明書は、CA で指定された目的以外の目的で使用されています。 |
|
エンド エンティティとしてのみ使用できる証明書は、CA として、またはその逆として使用されています。 |
Microsoft ルート ポリシー エラー (CERT_CHAIN_POLICY_MICROSOFT_ROOT)。
値 | 説明 |
---|---|
|
証明書チェーンは正しく処理されましたが、 信頼プロバイダーによって信頼されていないルート証明書で終了しました。 |
EV ポリシー エラー。
値 | 説明 |
---|---|
|
信頼されたルート証明機関への証明書チェーンを構築できませんでした。 |
|
証明書が要求された使用法に対して無効である。 |
lChainIndex
無効なエラーまたは条件が見つかったチェーンを示すインデックス。 詳細については、「解説」を参照してください。
lElementIndex
無効なエラーまたは条件が見つかったチェーン内の要素を示すインデックス。 詳細については、「解説」を参照してください。
pvExtraPolicyStatus
構造体へのポインター。 構造体の型は、CertVerifyCertificateChainPolicy 関数の pszPolicyOID パラメーターの値によって決まります。 dwError エラーに加えて、ポリシー OID 固有の追加の状態をここに返して、追加のチェーン状態情報を提供することもできます。 このポインターは、必要に応じて 、AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS 構造体を指すよう設定できます。
解説
lChainIndex と lElementIndex の両方が –1 に設定されている場合、無効なエラーまたは条件はチェーン コンテキスト全体に適用されます。 lElementIndex のみが –1 に設定されている場合、無効なエラーまたは条件は、lChainIndex によってインデックス付けされたチェーンに適用されます。 それ以外の場合、無効なエラーまたは条件は、pChainContext-rgpChain[lChainIndex]->>rgpElement[lElementIndex]の証明書要素に適用されます。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | wincrypt.h |