Заголовочный файл: pkivalidator.h
Библиотека DLL: pkivalidator.dll
Идентификаторы GUID: pkivalidator_i.c


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

Expand imageСинтаксис

C++ Copy Code
 HRESULT IsChainValid (
   VARIANT Chain,
   VARIANT_BOOL *pVal
 );

Параметры

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 означает успешное выполнение.

Visual Basic 6 Copy Code
 Function IsChainValid ( _
   Chain As Variant _
 ) As Boolean

Параметры

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-битных платформ.

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

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

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

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

NoteЗамечание:

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

NoteЗамечание:

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

Expand imageСм. также