CERT_CHAIN_ENGINE_CONFIG構造体 (wincrypt.h)
CERT_CHAIN_ENGINE_CONFIG構造体は、既定以外の証明書チェーン エンジンを構築するためのパラメーターを設定します。 使用されるエンジンによって、証明書チェーンの構築方法が決まります。
構文
typedef struct _CERT_CHAIN_ENGINE_CONFIG {
DWORD cbSize;
HCERTSTORE hRestrictedRoot;
HCERTSTORE hRestrictedTrust;
HCERTSTORE hRestrictedOther;
DWORD cAdditionalStore;
HCERTSTORE *rghAdditionalStore;
DWORD dwFlags;
DWORD dwUrlRetrievalTimeout;
DWORD MaximumCachedCertificates;
DWORD CycleDetectionModulus;
HCERTSTORE hExclusiveRoot;
HCERTSTORE hExclusiveTrustedPeople;
DWORD dwExclusiveFlags;
} CERT_CHAIN_ENGINE_CONFIG, *PCERT_CHAIN_ENGINE_CONFIG;
メンバー
cbSize
この構造体のサイズ (バイト単位)。
hRestrictedRoot
この構成パラメーターを使用して、ルート ストアを制限できます。 使用する場合は、ルート ストア内の証明書の適切なサブセットのみを含む任意の HCERTSTORE のハンドルにすることができます。
hRestrictedTrust
ストア ハンドル。 を使用する場合は、CCTL を検索するように検索するストアを制限します。
hRestrictedOther
ストア ハンドル。 を使用する場合は、証明書と CRL を検索するストアを制限します。
cAdditionalStore
チェーンを構築するために必要な証明書と CRL を検索する追加ストアの数。
rghAdditionalStore
ビルド チェーンで検索する追加のストアのストア ハンドルの配列へのポインター。
dwFlags
次のフラグが定義されています。
dwUrlRetrievalTimeout
ネットワーク ベースの URL オブジェクト取得のタイムアウトまでの時間 (ミリ秒)。 既定の制限を使用するには、0 に設定できます。
MaximumCachedCertificates
チェーンの構築時にキャッシュできる証明書の数の制限。 既定の制限を使用するには、0 に設定できます。
CycleDetectionModulus
チェーン内に証明書のサイクルがあるかどうかを判断するために、チェックが作成される前にチェーンに追加された証明書の数。 サイクルは、チェーン内の 2 つの異なる場所に同じ証明書を持つものとして定義できます。
数値が小さいほど、チェックの頻度が高くなります。 証明書のサイクルを追加でチェックすると、プロセスが大幅に遅くなります。 このパラメーターは、既定の制限を使用するために 0 に設定できます。
hExclusiveRoot
排他的信頼アンカーを含む証明書ストアを処理します。 hExclusiveRoot メンバーまたは hExclusiveTrustedPeople メンバーが有効なストアを指している場合、排他的信頼モードがチェーン構築に使用されます。
Windows 7 と Windows Server 2008 R2: このメンバーのサポートが開始されます。
hExclusiveTrustedPeople
アプリケーション固有のピア信頼された証明書を含む証明書ストアに対して処理します。 hExclusiveRoot メンバーまたは hExclusiveTrustedPeople メンバーが有効なストアを指している場合、排他的信頼モードがチェーン構築に使用されます。
Windows 7 と Windows Server 2008 R2: このメンバーのサポートが開始されます。
dwExclusiveFlags
次のフラグを設定できます。 このフラグは、 hExclusiveRoot または hExclusiveTrustedPeople またはその両方が NULL でない場合にのみ適用されます。
Windows 8 と Windows Server 2012: このメンバーのサポートが開始されます。
値 | 説明 |
---|---|
|
証明書の検証中に 、hExclusiveRoot ストア内の自己署名されていない中間 CA 証明書を信頼アンカーとして扱う必要があることを示します。 証明書がこの CA にチェーンされている場合、チェーン構築は終了され、証明書は信頼済みと見なされます。 CA 証明書に対して署名の検証または失効チェックは実行されません。
既定では、このフラグが設定されていない場合、 hExclusiveRoot ストア内の自己署名証明書のみが信頼アンカーとして扱われます。 CERT_TRUST_STATUS構造のCERT_TRUST_IS_CA_TRUSTED値も参照してください。 |
解説
チェーン構築エンジンは、チェーンの構築に 4 つの証明書ストアを使用します。 hRoot、hWorld、hTrust、hOther です。 これらのストアのハンドルは、チェーン エンジンの作成時にこの構造の情報を使用して確立されます。
hRoot は hRestrictedRoot からのストア ハンドルです。 hRestrictedRoot が NULL の場合は、システム ストアの "ルート" のハンドルです。
hWorld は、兄弟ストア hRoot、"CA"、"My"、"Trust"、および rghAdditionalStore が指す配列にハンドルがある追加ストアを含むコレクション証明書ストアです。
hTrust は hRestrictedTrust からのストア ハンドルです。 hRestrictedTrust が NULL の場合は hWorld です。
hOther は hRestrictedOther に hRoot を加算するか、 hRestrictedTrust が NULL 以外の場合は、hWorld コレクション ストアと hRestrictedTrust のストア ハンドルです。
排他的信頼モードを使用すると、アプリケーションは証明書チェーンの検証のために信頼アンカーとピア信頼証明書を指定できます。 排他的信頼モードでは、ルート ストアとシステム上の信頼されたユーザー ストアは無視され、 代わりに hExclusiveRoot メンバーと hExclusiveTrustedPeople メンバーが指すアンカーと証明書 が 使用されます。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | wincrypt.h |