Метод ICertificates2::Find

[CAPICOM — это 32-разрядный компонент, доступный для использования в следующих операционных системах: Windows Server 2008, Windows Vista и Windows XP. Вместо этого используйте класс X509Certificate2Collection в пространстве имен System.Security.Cryptography.X509Certificates .]

Метод Find возвращает объект Certificates , содержащий все сертификаты, соответствующие указанным условиям поиска. Этот метод появился в CAPICOM 2.0.

Синтаксис

Certificates.Find( _
  ByVal FindType, _
  [ ByVal varCriteria ], _
  [ ByVal bFindValidOnly ] _
)

Параметры

FindType [in]

Значение перечисления CAPICOM_CERTIFICATE_FIND_TYPE , указывающее тип условий сопоставления, указанных в параметре varCriteria . В следующей таблице приводятся возможные значения.

Значение Значение
CAPICOM_CERTIFICATE_FIND_SHA1_HASH
Возвращает сертификаты с хэшом SHA1, который соответствует хэшу SHA1, указанному в параметре varCriteria .
CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME
Возвращает сертификаты, имя субъекта которых точно или частично совпадает с именем субъекта, указанным в параметре varCriteria . Этот вызов выполняет поиск только в поле имени субъекта.
CAPICOM_CERTIFICATE_FIND_ISSUER_NAME
Возвращает сертификаты, имя издателя которых точно или частично совпадает с именем издателя, указанным в параметре varCriteria . Этот вызов выполняет поиск только в поле имени издателя.
CAPICOM_CERTIFICATE_FIND_ROOT_NAME
Возвращает сертификаты, имя корневой субъекта которых точно или частично совпадает с именем корневой темы, указанным в параметре varCriteria . Этот вызов создает цепочку. Этот вызов выполняет поиск в поле имени субъекта корневого сертификата.
CAPICOM_CERTIFICATE_FIND_TEMPLATE_NAME
Возвращает сертификаты, имя шаблона которых совпадает с именем шаблона, указанным в параметре varCriteria .
CAPICOM_CERTIFICATE_FIND_EXTENSION
Возвращает сертификаты, имеющие расширение, соответствующее расширению, указанному в параметре varCriteria .
CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY
Возвращает сертификаты в хранилище, которое явно содержит расширенное свойство со значением, указанным в параметре varCriteria .
CAPICOM_CERTIFICATE_FIND_APPLICATION_POLICY
Возвращает сертификаты в хранилище с расширенным расширением использования ключей, расширением политики приложения или расширенным свойством, указанным в параметре varCriteria .
CAPICOM_CERTIFICATE_FIND_CERTIFICATE_POLICY
Возвращает сертификаты, содержащие идентификатор политики в расширении политики, указанном в параметре varCriteria .
CAPICOM_CERTIFICATE_FIND_TIME_VALID
Возвращает сертификаты, время которых является допустимым.
CAPICOM_CERTIFICATE_FIND_TIME_NOT_YET_VALID
Возвращает сертификаты, время которых еще не является допустимым.
CAPICOM_CERTIFICATE_FIND_TIME_EXPIRED
Возвращает сертификаты, срок действия которых истек.
CAPICOM_CERTIFICATE_FIND_KEY_USAGE
Возвращает сертификаты, содержащие использование ключей в расширении KeyUsage, указанном в параметре varCriteria . Если расширение KeyUsage отсутствует, предполагается, что все использование ключей недоступно.

 

varCriteria [in, optional]

Вариант, содержащий условия поиска. Эти данные должны соответствовать типу данных, указанным в параметре FindType . Если значение параметра FindType равно CAPICOM_CERTIFICATE_FIND_TIME_VALID, CAPICOM_CERTIFICATE_FIND_TIME_NOT_YET_VALID или CAPICOM_CERTIFICATE_FIND_TIME_EXPIRED и вы не передаете значение в этот параметр, предполагается текущее время. Примеры каждого типа данных см. в примечаниях. Значение по умолчанию — 0.

bFindValidOnly [in, optional]

Логическое значение, указывающее, возвращаются ли только допустимые сертификаты. Значение по умолчанию — false; это означает, что возвращаются все сертификаты, соответствующие условиям поиска.

Если значение равно true, поиск не вернет следующие типы сертификатов:

  • Сертификаты, срок действия которых истек или еще не действителен.
  • Сертификаты не связаны должным образом.
  • Сертификаты, у которых возникли проблемы с подписью.
  • Отозванные сертификаты.

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

Объект Certificates, содержащий результаты поиска.

CAPICOM 2.1: Возвращаемый объект Certificates содержит ссылки на сертификаты в коллекции, в которой выполнен поиск. Все изменения, внесенные в сертификаты в возвращенном объекте Certificates , отражаются в этой коллекции.

CAPICOM 2.0, CAPICOM 2.0.0.1, CAPICOM 2.0.0.2 и CAPICOM 2.0.0.3: Возвращаемый объект Certificates содержит копии сертификатов в коллекции, в которой выполнен поиск. Любые изменения, внесенные в сертификаты в возвращенном объекте Certificates , не отражаются в этой коллекции.

Комментарии

В следующих примерах показаны возможные условия поиска для различных типов условий поиска.

Параметр FindType Параметр varCriteria
CAPICOM_CERTIFICATE_FIND_SHA1_HASH 33F362434B577F844BB7226BE36F7D72EF9D9393
CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME "NameOfPerson"
CAPICOM_CERTIFICATE_FIND_ISSUER_NAME VeriSign
CAPICOM_CERTIFICATE_FIND_ROOT_NAME "Корневой центр Майкрософт"
CAPICOM_CERTIFICATE_FIND_TEMPLATE_NAME "AutoEnrollEFS"
1.3.6.1.4.1.311.21.8.3692315854.1256661383.1690418588.4201632533.1741915387.2177932052
CAPICOM_CERTIFICATE_FIND_EXTENSION "2.5.29.31"
CAPICOM_OID_KEY_USAGE_EXTENSION
Список рассылки CRL
CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY CAPICOM_PROPID_KEY_PROV_INFO
CAPICOM_CERTIFICATE_FIND_APPLICATION_POLICY "1.3.6.1.5.5.7.3.3"
"1.3.6.1.5.5.7.3.4"
CAPICOM_OID_SERVER_AUTH_EKU
"Подписывание кода"
CAPICOM_CERTIFICATE_FIND_CERTIFICATE_POLICY "1.3.6.1.5.5.7.3.4.3.5"
"Корпоративная высокая гарантия"
CAPICOM_CERTIFICATE_FIND_TIME_VALID #04.15.2002, 16:00 #
CAPICOM_CERTIFICATE_FIND_TIME_NOT_YET_VALID #04.15.2002, 16:00 #
CAPICOM_CERTIFICATE_FIND_TIME_EXPIRED #04.15.2002, 16:00 #
CAPICOM_CERTIFICATE_FIND_KEY_USAGE CAPICOM_ENCIPHER_ONLY_KEY_USAGE

 

Требования

Требование Значение
Прекращение поддержки клиентов
Windows Vista
Прекращение поддержки сервера
Windows Server 2008
Распространяемые компоненты
CAPICOM 2.0 или более поздней версии в Windows Server 2003 и Windows XP
DLL
Capicom.dll

См. также раздел

Сертификаты

CAPICOM_OID