Функция 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
pOpenPara
Этот параметр не используется и должен иметь значение NULL.
Возвращаемое значение
В случае успешного выполнения возвращает дескриптор ответа OCSP, связанного с цепочкой сертификатов сервера; в противном случае — NULL. Этот дескриптор необходимо передать в функцию CertCloseServerOcspResponse , если он больше не нужен.
Чтобы получить дополнительные сведения об ошибке, вызовите Метод GetLastError. Возможные коды ошибок, возвращаемые функцией GetLastError , включают, помимо прочего, следующие.
Код возврата | Описание |
---|---|
|
Один или несколько параметров недопустимы. |
|
Конечный сертификат не содержит URL-адрес доступа к данным центра OCSP (AIA). |
Комментарии
Если 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"
Минимальное время действия ответа OCSP сервера, возвращаемого CertGetServerOcspResponseContext. Срок действия ответа 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 сервера до даты следующего обновления ответа OCSP. Поток ответа OCSP сервера ожидает, пока текущее время не будет больше или равно дате следующего обновления за вычетом этого количества секунд для выполнения предварительной выборки.
-
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 сервера до даты следующего обновления ответа OCSP. Если текущее время больше или равно дате следующего обновления за вычетом этого количества секунд, поток ответа OCSP сервера ожидает, пока не будет выполнена предварительная выборка после даты следующего обновления и 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 сервера после даты следующего обновления ответа OCSP. Если текущее время больше даты следующего обновления за вычетом CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME числа секунд, но меньше даты следующего обновления, поток ответа OCSP сервера ожидает этого числа секунд после даты следующего обновления для выполнения предварительной выборки.
-
CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_DEFAULT
(1 × 60)
1 минута.
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |