CERT_REVOCATION_PARA 結構 (wincrypt.h)
CERT_REVOCATION_PARA 結構會傳入對 CertVerifyRevocation 函式的呼叫,以協助尋找要驗證之內容的簽發者。 CERT_REVOCATION_PARA 結構是 CertVerifyRevocation 函式中的選擇性參數。
語法
typedef struct _CERT_REVOCATION_PARA {
DWORD cbSize;
PCCERT_CONTEXT pIssuerCert;
DWORD cCertStore;
HCERTSTORE *rgCertStore;
HCERTSTORE hCrlStore;
LPFILETIME pftTimeToUse;
DWORD dwUrlRetrievalTimeout;
BOOL fCheckFreshnessTime;
DWORD dwFreshnessTime;
LPFILETIME pftCurrentTime;
PCERT_REVOCATION_CRL_INFO pCrlInfo;
LPFILETIME pftCacheResync;
PCERT_REVOCATION_CHAIN_PARA pChainPara;
} CERT_REVOCATION_PARA, *PCERT_REVOCATION_PARA;
成員
cbSize
這個結構的大小,以位元組為單位。
pIssuerCert
CERT_CONTEXT 結構的指標,其中包含 CertVerifyRevocation 參數列表中 rgpvContext 陣列中指定的憑證簽發者的憑證。
cCertStore
設定時,會包含 rgCertStore 陣列中的元素數目。 如果您未在 rgCertStore 參數中提供存放區句柄清單,請將 設定為零。
rgCertStore
證書存儲句柄的陣列。 指定搜尋簽發者憑證的一組存放區。 如果未設定 rgCertStore ,則會搜尋預設存放區。
hCrlStore
選擇性存放區句柄。 指定時,使用 證書吊銷 的處理程式 (CRL) 可以搜尋此存放區中的 CRL。
pftTimeToUse
FILETIME 版本的UTC時間指標。 指定時,處理程式必須盡可能判斷相對於指定時間的撤銷狀態。 如果 NULL 或處理程式無法判斷 相對於 pftTimeToUse 值的狀態,則可以判斷撤銷狀態與時間無關或相對於目前時間。
dwUrlRetrievalTimeout
只有在定義 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS 時,才會定義這個成員。 撤銷處理程式在嘗試擷取撤銷資訊時會等候的逾時,以毫秒為單位。 如果設定為零,則會使用撤銷處理程序的預設逾時。 如果定義 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS ,則如果未使用,則必須將此成員設定為零。
fCheckFreshnessTime
只有在定義 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS 時,才會定義這個成員。 如果 為 TRUE,如果 CRL 的問題日期小於或等於 Current Time 減 去 dwFreshnessTime,就會嘗試擷取新的 CRL。 如果未設定此旗標,則會使用CRL的 NextUpdate 時間。 如果定義 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS ,則如果未使用,則必須將此成員設定為 FALSE 。
dwFreshnessTime
只有在定義 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS 時,才會定義這個成員。 以秒為單位的時間是用來判斷是否要嘗試擷取新的CRL。 如果定義 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS ,則如果未使用,則必須將此成員設定為零。
pftCurrentTime
只有在定義 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS 時,才會定義這個成員。 檔案時間檢查中使用的 FILETIME 結構的指標。 如果這個指標的值是 Null,撤銷處理程式會使用目前的時間。 如果定義 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS ,則如果未使用,則必須將此成員設定為 null。
pCrlInfo
只有在定義 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS 時,才會定義這個成員。 這個成員包含包含CRL內容資訊的PCERT_REVOCATION_CRL_INFO結構的指標。 CRL 資訊僅適用於上次檢查 的內容 。 若要存取此 CRL 中的資訊,請呼叫 CertVerifyRevocation 函式,並將 cContext 設定為 1。 如果定義 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS ,則如果未使用成員,則必須將成員設定為 null。
pftCacheResync
只有在定義 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS 時,才會定義這個成員。 這個成員包含 FILETIME 結構的指標,指定快取資訊的使用方式。 在指定時間之前快取的任何資訊都會被視為無效,並擷取新的資訊。 如果定義 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS ,則如果未使用,則必須將此成員設定為 null。
Windows Server 2003 和 Windows XP: 未使用這個成員。
pChainPara
只有在定義 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS 時,才會定義這個成員。 此成員包含 CERT_REVOCATION_CHAIN_PARA 結構的指標,其中包含用來建置獨立 OCSP 簽署者憑證鏈結的參數。 如果定義 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS ,則如果未使用,則必須將此成員設定為 null。
Windows Vista、Windows Server 2003 和 Windows XP: 此成員不會用於列出的系統中。 成員從 Windows Vista SP1 開始可供使用。
備註
CERT_REVOCATION_PARA 結構提供 CertVerifyRevocation 函式可用來判斷內容簽發者的其他資訊。
如果您的應用程式必須檢查 CRL 的全新性,或重新同步處理 CRL 快取,您可以提供額外的結構成員來協助 CertVerifyRevocation 函式。 若要包含其他結構成員,請先定義應用程式中的常數 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS ,再包含 Wincrypt.h
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
標頭 | wincrypt.h |