Функция CertRetrieveLogoOrBiometricInfo (wincrypt.h)

Функция CertRetrieveLogoOrBiometricInfo выполняет получение URL-адреса логотипа или биометрических данных, указанных в расширении сертификата szOID_LOGOTYPE_EXT или szOID_BIOMETRIC_EXT . Расширение szOID_BIOMETRIC_EXT (IETF RFC 3739) поддерживает добавление подписи или графического представления владельца сертификата. Расширение szOID_LOGOTYPE_EXT (IETF RFC 3709) поддерживает добавление графических представлений организации в сертификаты.

Синтаксис

BOOL CertRetrieveLogoOrBiometricInfo(
  [in]  PCCERT_CONTEXT pCertContext,
  [in]  LPCSTR         lpszLogoOrBiometricType,
  [in]  DWORD          dwRetrievalFlags,
  [in]  DWORD          dwTimeout,
  [in]  DWORD          dwFlags,
        void           *pvReserved,
  [out] BYTE           **ppbData,
  [out] DWORD          *pcbData,
  [out] LPWSTR         *ppwszMimeType
);

Параметры

[in] pCertContext

Адрес структуры CERT_CONTEXT , содержащей сертификат.

[in] lpszLogoOrBiometricType

Адрес строки ANSI с пустым завершением, содержащей строку идентификатора объекта (OID), идентифицирующая тип извлекаемой информации.

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

Значение Значение
CERT_RETRIEVE_ISSUER_LOGO
Получение логотипа издателя сертификата.
CERT_RETRIEVE_SUBJECT_LOGO
Получение логотипа субъекта сертификата.
CERT_RETRIEVE_COMMUNITY_LOGO
Получите логотип сообщества сертификатов.
CERT_RETRIEVE_BIOMETRIC_PICTURE_TYPE
Получите рисунок, связанный с сертификатом.
CERT_RETRIEVE_BIOMETRIC_SIGNATURE_TYPE
Получите подпись, связанную с сертификатом.

[in] dwRetrievalFlags

Набор флагов, указывающих способ извлечения сведений. Этот параметр передается как dwRetrievalFlags в функции CryptRetrieveObjectByUrl .

[in] dwTimeout

Максимальное время ожидания извлечения (в миллисекундах).

[in] dwFlags

Этот параметр не используется и должен быть равен нулю.

pvReserved

Этот параметр не используется и должен иметь значение NULL.

[out] ppbData

Адрес указателя BYTE , который получает логотип или биометрические данные. Эта память должна быть освобождена, если она больше не нужна, передав этот указатель на функцию CryptMemFree .

[out] pcbData

Адрес переменной DWORD , получающей количество байтов в буфере ppbData .

[out] ppwszMimeType

Адрес указателя на строку Юникода, завершающуюся значением NULL, которая получает тип данных MIME. Этот параметр может иметь значение NULL , если эти сведения не требуются. Эта память должна быть освобождена, если она больше не нужна, передав этот указатель на функцию CryptMemFree .

Этот адрес всегда получает значение NULL для биометрических типов. Прежде чем пытаться получить доступ к памяти, необходимо убедиться, что этот параметр содержит допустимый адрес памяти.

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

Возвращает ненулевое значение в случае успешного выполнения или ноль в противном случае.

Чтобы получить дополнительные сведения об ошибке, вызовите Метод GetLastError. Возможные коды ошибок, возвращаемые функцией GetLastError , включают, помимо прочего, следующие.

Код возврата Описание
CRYPT_E_HASH_VALUE
Вычисленное хэш-значение не соответствует хэш-значению в сертификате.
CRYPT_E_NOT_FOUND
Сертификат не содержит расширения szOID_LOGOTYPE_EXT или szOID_BIOMETRIC_EXT или не найден указанный lpszLogoOrBiometricType .
E_INVALIDARG
Один или несколько параметров недопустимы.
ERROR_INVALID_DATA
Данные не могут быть получены из URL-адреса, указанного расширением сертификата.
ERROR_NOT_SUPPORTED
Сертификат не поддерживает требуемое расширение.
NTE_BAD_ALGID
OID хэш-алгоритма неизвестен.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header wincrypt.h
Библиотека Crypt32.lib
DLL Crypt32.dll

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

CryptMemFree