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
市集控制碼。 如果使用,則會限制搜尋的存放區以尋找 CCL。
hRestrictedOther
cAdditionalStore
要搜尋的憑證和 CRL 所需的額外存放區計數,以建置鏈結。
rghAdditionalStore
存放區控制碼陣列的指標,可供在建置鏈結中搜尋任何其他存放區。
dwFlags
定義下列旗標。
dwUrlRetrievalTimeout
網路 URL 物件擷取逾時之前的毫秒數。 可以設定為零以使用預設限制。
MaximumCachedCertificates
建置可快取為鏈結的憑證數目限制。 可以設定為 0 以使用預設限制。
CycleDetectionModulus
在進行檢查之前,新增至鏈結的憑證數目,以判斷鏈結中是否有憑證迴圈。 迴圈可能會定義為在鏈結中兩個不同位置具有相同的憑證。
數位越低,就會進行更頻繁的檢查。 憑證週期的額外檢查會大幅降低程式的速度。 此參數可以設定為零,以使用預設限制。
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值。 |
備註
鏈結建置引擎會在建置鏈結中使用四個憑證存放區。 這些是 hRoot、hWorld、hTrust 和 hOther。 建立鏈結引擎時,會使用此結構中的資訊來建立這些存放區的控制碼。
hRoot 是 來自 hRestrictedRoot 的存放區控制碼,如果 hRestrictedRoot 是 Null,則為系統存放區的控制碼「Root」。
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 [僅限傳統型應用程式] |
標頭 | wincrypt.h |