Функция 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), идентифицирующая тип извлекаемой информации.
Этот параметр также может содержать одно из следующих предопределенных значений.
[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 , включают, помимо прочего, следующие.
Код возврата | Описание |
---|---|
|
Вычисленное хэш-значение не соответствует хэш-значению в сертификате. |
|
Сертификат не содержит расширения szOID_LOGOTYPE_EXT или szOID_BIOMETRIC_EXT или не найден указанный lpszLogoOrBiometricType . |
|
Один или несколько параметров недопустимы. |
|
Данные не могут быть получены из URL-адреса, указанного расширением сертификата. |
|
Сертификат не поддерживает требуемое расширение. |
|
OID хэш-алгоритма неизвестен. |
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |