Заголовочный файл: WinCryptEx.h

Структура, содержащая расширенный статус проверки.

C++ Copy Code
 typedef struct _CPOCSP_SIGNING_EXTRA_CERT_CHAIN_POLICY_STATUS {
   DWORD cbSize;
   DWORD dwError;
   LONG lChainIndex;
   LONG lElementIndex;
   BOOL fNoCheck;
   BOOL *rgCertIdStatus;
 } CPOCSP_SIGNING_EXTRA_CERT_CHAIN_POLICY_STATUS,
   *PCPOCSP_SIGNING_EXTRA_CERT_CHAIN_POLICY_STATUS;

Параметры

cbSize

Размер структуры в байтах.

dwError

Код ошибки, содержащий результат проверки цепочки по расширенной информации. Значения констант расширенного статуса проверки представлены в таблице:
Имя Описание
CPCERT_TRUST_PRIVATE_KEY_IS_NOT_TIME_VALID

Один из сертификатов цепочки был использован для подписи вне периода действия закрытого ключа.

CPCERT_TRUST_PRIVATE_KEY_IS_NOT_TIME_VALID_FOR_CRL

Один из сертификатов цепочки был использован для подписи CRL вне периода действия закрытого ключа.

CPCERT_TRUST_IS_NOT_CRITICAL_EKU

Не выполнено требование критичности расширения Extended Key Usage (EKU).

CPCERT_TRUST_IS_NOT_ONE_EKU

В сертификате должно содержаться только одно значение в расширении Extended Key Usage (EKU).

CPCERT_TRUST_IS_NOT_VALID_FOR_USAGE

Сертификат признан недопустимым для использования по назначению.

CPCERT_TRUST_IS_NOT_VALID_BY_KEYUSAGE

Сертификат признан недопустимым для использования для подписи из-за отсутствия в расширении Key Usage (использование ключа) битов digitalSignature (подпись) и nonRepudation (неотказуемость).

CPCERT_TRUST_IS_NOT_VALID_FOR_OCSP_SIGNING

Сертификат не содержит в расширении Extended Key Usage (EKU) назначения для подписи ответа службы OCSP.

lChainIndex

Индекс цепочки, в которой найдено несоответствие. Аналогичен параметру lChainIndex структуры CERT_CHAIN_POLICY_STATUS .

lElementIndex

Индекс сертификата в цепочке, в которой найдено несоответствие. Аналогичен параметру lElementIndex структуры CERT_CHAIN_POLICY_STATUS .

fNoCheck

Указывает наличие в конечном сертификате расширения Признак доверия службе OCSP (sz-id-pkix-ocsp-nocheck).

rgCertIdStatus

Массив статусов проверки переданных в CPOCSP_SIGNING_EXTRA_CERT_CHAIN_POLICY_PARA идентификаторов сертификатов. Сюда должен быть передан указатель на массив BOOL достаточной длины, т.е. по числу переданных идентификаторов сертификатов. Возвращает TRUE если проверяемый сертификат для подписи OCSP-ответов может использоваться для подписи статуса соответствующего сертификата, FALSE - если нет.

Expand imageПримечания

Используется для возвращения информации об ошибках или несоответствиях в проверке по расширенной информации, переданной в поле pvExtraPolicyPara в структуре CERT_CHAIN_POLICY_PARA .

Передается как поле pvExtraPolicyStatus в структуре CERT_CHAIN_POLICY_STATUS .