CERT_CHAIN_PARA 結構 (wincrypt.h)
CERT_CHAIN_PARA結構會建立用來建置憑證鏈結的搜尋和比對準則。
語法
typedef struct _CERT_CHAIN_PARA {
DWORD cbSize;
CERT_USAGE_MATCH RequestedUsage;
CERT_USAGE_MATCH RequestedIssuancePolicy;
DWORD dwUrlRetrievalTimeout;
BOOL fCheckRevocationFreshnessTime;
DWORD dwRevocationFreshnessTime;
LPFILETIME pftCacheResync;
PCCERT_STRONG_SIGN_PARA pStrongSignPara;
DWORD dwStrongSignFlags;
} CERT_CHAIN_PARA, *PCERT_CHAIN_PARA;
成員
cbSize
這個結構的大小,以位元組為單位。
RequestedUsage
結構,指出尋找用於建置憑證鏈結的簽發者憑證所需的比對類型。 指向的結構表示 AND 或 OR 邏輯是否要在比對程式中使用。 結構也包含要比對的 OID 陣列。
RequestedIssuancePolicy
選擇性結構,表示在建置憑證鏈結時套用的發行原則條件約束比對類型。 指向的結構表示 AND 或 OR 邏輯是否要在比對程式中使用。 結構也包含要比對的 OID 陣列。
dwUrlRetrievalTimeout
撤銷簽核逾時之前的選擇性時間,以毫秒為單位。這個成員是選擇性的。
fCheckRevocationFreshnessTime
選擇性成員。 當此旗標為 TRUE 時,如果此更新大於或等於目前的系統時間減去 dwRevocationFreshnessTime 值,就會嘗試擷取新的 CRL。 如果未設定此旗標,則會使用CRL的下一次更新時間。
dwRevocationFreshnessTime
目前時間,以秒為單位,減去所有已檢查專案的CRL更新時間。
pftCacheResync
選擇性成員。 當設定為非 NULL 值時,在指定的時間之前快取的資訊會被視為無效,而且會執行快取重新同步處理。
Windows Vista: 開始支援這個成員。
pStrongSignPara
選擇性。 指定 CERT_STRONG_SIGN_PARA 結構的指標,以啟用強式簽章檢查。
Windows 8 和 Windows Server 2012:開始支援此成員。
dwStrongSignFlags
修改鏈結擷取行為的選擇性旗標。 這可以是零或下列值。
值 | 意義 |
---|---|
|
如果鏈結已強式簽署,則會檢查結束憑證中的公鑰,以確認它是否符合強式簽章的最低公鑰長度需求。 您可以指定 CERT_CHAIN_STRONG_SIGN_DISABLE_END_CHECK_FLAG 來停用預設檢查。 |
Windows 8 和 Windows Server 2012:開始支援此屬性。
備註
下列備註適用於檢查強式簽章時。
- 使用 CertGetCertificateChain 或 CertSelectCertificateChains 函式時,設定 pStrongSignPara 成員來檢查強式簽章。
- 如果在鏈結中找到沒有強式簽章的憑證,CERT_TRUST_HAS_WEAK_SIGNATURE和CERT_TRUST_IS_NOT_SIGNATURE_VALID錯誤會在CERT_TRUST_STATUS結構的 dwErrorStatus 字段中設定。 CertGetCertificateChain 函式的 ppChainContext 參數和 CertSelectCertificateChains 函式的 pprgpSelection 參數會指向CERT_CHAIN_CONTEXT結構,接著指向CERT_TRUST_STATUS結構。
- 如果鏈結已強式簽署,則會檢查結束憑證中的公鑰,以判斷它是否符合強式簽章的最低公鑰長度需求。 如果不符合條件,CERT_TRUST_STATUS結構的dwErrorStatus 字段中會設定CERT_TRUST_HAS_WEAK_SIGNATURE和CERT_TRUST_IS_NOT_SIGNATURE_VALID錯誤。 將 dwStrongSignFlags 成員中的CERT_CHAIN_STRONG_SIGN_DISABLE_END_CHECK_FLAG值設定為停用此檢查。
- 如果在 pStrongSignPara 成員所指向之CERT_STRONG_SIGN_PARA結構所參考的CERT_STRONG_SIGN_SERIALIZED_INFO結構中設定了CERT_STRONG_SIGN_ENABLE_CRL_CHECK或CERT_STRONG_SIGN_ENABLE_OCSP_CHECK旗標,而且找不到 CRL 或 OCSP 回應,則 CRL 或 OCSP 回應會被視為脫機。 也就是說,CERT_TRUST_IS_OFFLINE_REVOCATION和CERT_TRUST_REVOCATION_STATUS_UNKNOWN錯誤是在 CERT_TRUST_STATUS 結構的 dwErrorStatus 字段中設定。 此外,CERT_REVOCATION_INFO 結構的 dwRevocationResult 成員會設定為 NTE_BAD_ALGID。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
標頭 | wincrypt.h |