Метод 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 |
|
См. также раздел