Функция CertFindSubjectInCTL (wincrypt.h)
Функция CertFindSubjectInCTL пытается найти указанного субъекта в списке доверия сертификатов (CTL). Субъект можно определить по всему контексту сертификата или по любому уникальному идентификатору субъекта сертификата, например хэшу SHA1 издателя сертификата и серийному номеру.
Синтаксис
PCTL_ENTRY CertFindSubjectInCTL(
[in] DWORD dwEncodingType,
[in] DWORD dwSubjectType,
[in] void *pvSubject,
[in] PCCTL_CONTEXT pCtlContext,
[in] DWORD dwFlags
);
Параметры
[in] dwEncodingType
Указывает используемый тип кодирования. В настоящее время используются только X509_ASN_ENCODING и PKCS_7_ASN_ENCODING; однако в будущем могут быть добавлены дополнительные типы кодирования. Для любого текущего типа кодирования используйте:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.
[in] dwSubjectType
Указывает тип субъекта для поиска в CTL. Может иметь значение NULL для поиска по умолчанию.
Значение | Значение |
---|---|
|
Тип данных pvSubject: указатель на CERT_CONTEXT структуру.
SubjectAlgorithm CTL проверяется, чтобы определить представление личности субъекта. Изначально в качестве значений для SubjectAlgorithm поддерживаются только хэши SHA1 и MD5. Соответствующее хэш-свойство получается из структуры CERT_CONTEXT . |
|
Тип данных pvSubject: указатель на структуру CTL_ANY_SUBJECT_INFO.
Элемент SubjectAlgorithm этой структуры должен соответствовать типу алгоритма CTL, а член SubjectIdentifier должен соответствовать одной из записей CTL. |
Хэш сертификата или элемент SubjectIdentifier структуры CTL_ANY_SUBJECT_INFO используется в качестве ключа при поиске записей субъекта. Выполняется сравнение двоичной памяти между ключом и SubjectIdentifier записи.
Если параметру dwSubjectType присвоено любое предыдущее значение, dwEncodingType не используется.
[in] pvSubject
Указатель, используемый в сочетании с параметром dwSubjectType .
[in] pCtlContext
Указатель на искомую структуру CTL_CONTEXT .
[in] dwFlags
Зарезервировано для будущего использования и должно быть равно нулю.
Возвращаемое значение
Если функция выполнена успешно, возвращаемым значением будет запись, если она найдена.
Если функция завершается сбоем, возвращается значение NULL. Чтобы получить дополнительные сведения об ошибке, вызовите Метод GetLastError. Ниже приведены некоторые возможные коды ошибок.
Код возврата | Описание |
---|---|
|
Тема не найдена в CTL. |
|
Параметр dwSubjectType не был CTL_CERT_SUBJECT_TYPE или CTL_ANY_SUBJECT_TYPE. |
|
Член CTL SubjectAlgorithm не сопоставляется ни с SHA1, ни с MD5. |
Комментарии
Хэш сертификата или элемент SubjectIdentifier структуры CTL_ANY_SUBJECT_INFO используется в качестве ключа при поиске записей субъекта. Выполняется сравнение двоичной памяти между ключом и SubjectIdentifier записи.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |