CertOpenServerOcspResponse 函式 (wincrypt.h)
CertOpenServerOcspResponse函式會開啟連線憑證狀態通訊協定的控制碼, (OCSP) 與伺服器憑證鏈結相關聯的回應。
語法
HCERT_SERVER_OCSP_RESPONSE CertOpenServerOcspResponse(
[in] PCCERT_CHAIN_CONTEXT pChainContext,
[in] DWORD dwFlags,
PCERT_SERVER_OCSP_RESPONSE_OPEN_PARA pOpenPara
);
參數
[in] pChainContext
包含憑證鏈結之 CERT_CHAIN_CONTEXT 結構的位址。
[in] dwFlags
值 | 意義 |
---|---|
|
此 API 會在傳回之前嘗試擷取初始 OCSP 回應,這表示它會在擷取期間封鎖。 |
|
將此旗標設定為立即傳回,而不進行初始同步擷取。 |
pOpenPara
不使用此參數,而且必須是 Null。
傳回值
如果成功,則會傳回與伺服器憑證鏈結相關聯的 OCSP 回應控制碼;否則為 Null。 當不再需要此控制碼時,此控制碼必須傳遞至 CertCloseServerOcspResponse 函式。
如需擴充錯誤資訊,請呼叫 GetLastError。 GetLastError函式傳回的可能錯誤碼包括,但不限於下列各項。
傳回碼 | 描述 |
---|---|
|
一或多個參數無效。 |
|
結束憑證不包含 AIA) URL (OCSP 授權單位資訊存取。 |
備註
當 dwFlags設定為 0 時,CertOpenServerOcspResponse函式會在傳回之前嘗試擷取初始 OCSP 回應。 它會在擷取期間封鎖其進程執行緒。 CertOpenServerOcspResponse函式會建立背景執行緒,以預先擷取有效時間的 OCSP 回應。 如果無法成功擷取第一個 OCSP 回應,如果上述錯誤案例不是其中一個,仍會傳回非 Null 控制碼。
當 dwFlags 設定為 1 或 CERT_SERVER_OCSP_RESPONSE_ASYNC_FLAG時, CertOpenServerOcspResponse 函式會立即傳回,而不會進行初始同步擷取。
CertOpenServerOcspResponse函式會遞增pChainCoNtext參數所代表之鏈結內容的參考計數。 當您完成鏈結內容時,請呼叫 CertCloseServerOcspResponse 函式來關閉傳回的控制碼。
CertOpenServerOcspResponse函式會初始化下列函式所使用的組態設定:
- CertAddRefServerOcspResponse
- CertCloseServerOcspResponse
- CertGetServerOcspResponseCoNtext
- CertAddRefServerOcspResponseCoNtext
- CertFreeServerOcspResponseCoNtext
此函式會初始化下列組態設定名稱和預設值:
-
CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_VALUE_NAME
L「SrvOcspRespMinValiditySeconds」
CertGetServerOcspResponseCoNtext所傳回之伺服器 OCSP 回應的最小時間有效性。 OCSP 回應有效性必須夠長,用戶端將它視為有效時間。
-
CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_DEFAULT
(10 × 60)
10 分鐘。
-
CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME
L「SrvOcspRespUrlRetrievalTimeoutMilliseconds」
這是 OCSP 回應預先擷取連線 URL 擷取逾時之前的最大時間。
-
CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT
(15 × 1000)
15 秒。
-
CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME
L「SrvOcspRespMaxBeforeNextUpdateSeconds」
這是在 OCSP 回應的 NextUpdate 日期之前,執行伺服器 OCSP 回應預先擷取的秒數上限。 伺服器 OCSP 回應執行緒會等候到目前時間大於或等於 NextUpdate 日期減去這個秒數,以執行預先擷取。
-
CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT
(4 ×60 × 60)
4 小時。
-
CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME
L「SrvOcspRespMinBeforeNextUpdateSeconds」
這是在 OCSP 回應的 NextUpdate 日期之前,執行伺服器 OCSP 回應預先擷取的最小秒數。 如果目前時間大於或等於 NextUpdate 日期減去這個秒數,伺服器 OCSP 回應執行緒會等到 NextUpdate 日期之後加上 CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME 秒數,再執行預先擷取。
-
CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT
(2 × 60)
2 分鐘。
-
CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME
L「SrvOcspRespMinAfterNextUpdateSeconds」
這是在 OCSP 回應的 NextUpdate 日期之後,執行伺服器 OCSP 回應預先擷取的最小秒數。 當目前時間大於 NextUpdate 日期減去 CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME 秒數,但小於 NextUpdate 日期時,伺服器 OCSP 回應執行緒會等候 NextUpdate 日期之後的這個秒數來執行預先擷取。
-
CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_DEFAULT
(1 × 60)
1 分鐘。
規格需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wincrypt.h |
程式庫 | Crypt32.lib |
Dll | Crypt32.dll |