Развернуть все
Свернуть все

Метод IPrivateKeyUsageValidator::IsChainValid

Проверяет, что все сертификаты цепочки использовались для подписи выпущенных сертификатов, CRL и CTL в период действия их закрытых ключей.

Синтаксис

C++
Visual Basic 6
 HRESULT IsChainValid (
   VARIANT Chain,
   VARIANT_BOOL *pVal
 );
 Function IsChainValid ( _
   Chain As Variant _
 ) As Boolean

Параметры

Chain

[in] Указатель на объект CAPICOM.Chain , описанный в библиотеке CAPICOM, либо указатель на структуру CERT_CHAIN_CONTEXT .

Поддерживаемые типы VARIANT для передачи CAPICOM.Chain (только для 32-битной архитектуры):

  1. VT_DISPATCH, VT_UNKNOWN, VT_DISPATCH | VT_BYREF, VT_UNKNOWN | VT_BYREF,

  2. VT_VARIANT | VT_BYREF - если передается указатель на другой VARIANT, то в нём считаются допустимыми все вышеперечисленные типы.


Поддерживаемые типы VARIANT для передачи указателя на CERT_CHAIN_CONTEXT :
  1. VT_I8, VT_UI8 - для всех платформ,

  2. VT_INT, VT_UINT, VT_I4, VT_UI4 - только для 32-битных платформ.

pVal

[out, retval] Результат проверки.

Возвращаемое значение

Возвращаемое значение имеет тип HRESULT. Значение S_OK означает успешное выполнение.

Параметры

Chain

Указатель на объект CAPICOM.Chain , описанный в библиотеке CAPICOM, либо указатель на структуру CERT_CHAIN_CONTEXT .

Поддерживаемые типы VARIANT для передачи CAPICOM.Chain (только для 32-битной архитектуры):

  1. VT_DISPATCH, VT_UNKNOWN, VT_DISPATCH | VT_BYREF, VT_UNKNOWN | VT_BYREF,

  2. VT_VARIANT | VT_BYREF - если передается указатель на другой VARIANT, то в нём считаются допустимыми все вышеперечисленные типы.


Поддерживаемые типы VARIANT для передачи указателя на CERT_CHAIN_CONTEXT :
  1. VT_I8, VT_UI8 - для всех платформ,

  2. VT_INT, VT_UINT, VT_I4, VT_UI4 - только для 32-битных платформ.

Возвращаемое значение

Результат проверки.

Примечания

Метод IsChainValidOnTime возвращает результат проверки цепочки.

Во время проверки обходятся все простые цепочки. Для каждого сертификата простой цепочки являющегося сертификатом промежуточного или корневого центра сертификации проверяется, что выпущенный им сертификат подчиненного ЦС или конечного в этой цепочке сертификата, базовый и/или разностный CRL (если указаны) в цепочке были выпущены в период действия закрытого ключа этого сертификата. Для конечных сертификатов простых цепочек (исключая EE) выполняется проверка времени подписи CTL.

Использование закрытого ключа конечного сертификата не контролируется. Для этого предназначены методы IsCertValidNow и IsCertValidOnTime.

Замечание

Цепочка содержит CRL только если была построена с указанием флага проверки на отзыв.
КриптоПро Revocation Provider , входящий также в состав КриптоПро CSP 3.6 , при проверке статуса сертификата самостоятельно осуществляет контроль правильности использования закрытого ключа для подписи CRL.

Замечание

Существует только 32-битная версия библиотеки CAPICOM. На 64-битных архитектурах данный метод работает только с указателем на структуру CERT_CHAIN_CONTEXT .

Требования

Заголовочный файл pkivalidator.h
Библиотека DLL pkivalidator.dll
Идентификаторы GUID pkivalidator_i.c
Минимальная версия продукта 1.0