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 [僅限傳統型應用程式] |
標頭 | wincrypt.h |