Función CertRetrieveLogoOrBiometricInfo (wincrypt.h)

La función CertRetrieveLogoOrBiometricInfo realiza una recuperación de direcciones URL de logotipo o información biométrica especificada en la extensión de certificado szOID_LOGOTYPE_EXT o szOID_BIOMETRIC_EXT . La extensión szOID_BIOMETRIC_EXT (IETF RFC 3739) admite la adición de una firma o una representación pictorial del titular humano del certificado. La extensión szOID_LOGOTYPE_EXT (IETF RFC 3709) admite la adición de representaciones picttoriales organizativas en certificados.

Sintaxis

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
);

Parámetros

[in] pCertContext

Dirección de una estructura de CERT_CONTEXT que contiene el certificado.

[in] lpszLogoOrBiometricType

Dirección de una cadena ANSI terminada en null que contiene una cadena de identificador de objeto (OID) que identifica el tipo de información que se va a recuperar.

Este parámetro también puede contener uno de los siguientes valores predefinidos.

Valor Significado
CERT_RETRIEVE_ISSUER_LOGO
Recupere el tipo de logotipo del emisor de certificados.
CERT_RETRIEVE_SUBJECT_LOGO
Recupere el tipo de logotipo del firmante del certificado.
CERT_RETRIEVE_COMMUNITY_LOGO
Recupere el tipo de logotipo de la comunidad de certificados.
CERT_RETRIEVE_BIOMETRIC_PICTURE_TYPE
Recupere la imagen asociada al certificado.
CERT_RETRIEVE_BIOMETRIC_SIGNATURE_TYPE
Recupere la firma asociada al certificado.

[in] dwRetrievalFlags

Conjunto de marcas que especifican cómo se debe recuperar la información. Este parámetro se pasa como dwRetrievalFlags en la función CryptRetrieveObjectByUrl .

[in] dwTimeout

Cantidad máxima de tiempo, en milisegundos, para esperar a la recuperación.

[in] dwFlags

Este parámetro no se usa y debe ser cero.

pvReserved

Este parámetro no se usa y debe ser NULL.

[out] ppbData

Dirección de un puntero BYTE que recibe el tipo de logotipo o los datos biométricos. Esta memoria debe liberarse cuando ya no sea necesario pasando este puntero a la función CryptMemFree .

[out] pcbData

Dirección de una variable DWORD que recibe el número de bytes en el búfer ppbData .

[out] ppwszMimeType

Dirección de un puntero a una cadena Unicode terminada en null que recibe el tipo Multipurpose Internet Mail Extensions (MIME) de los datos. Este parámetro puede ser NULL si no se necesita esta información. Esta memoria debe liberarse cuando ya no sea necesario pasando este puntero a la función CryptMemFree .

Esta dirección siempre recibe NULL para los tipos biométricos. Siempre debe asegurarse de que este parámetro contiene una dirección de memoria válida antes de intentar acceder a la memoria.

Valor devuelto

Devuelve un valor distinto de cero si es correcto o cero de lo contrario.

Para obtener información de error extendida, llame a GetLastError. Entre los posibles códigos de error devueltos por la función GetLastError se incluyen, entre otros, los siguientes.

Código devuelto Descripción
CRYPT_E_HASH_VALUE
El valor hash calculado no coincide con el valor hash del certificado.
CRYPT_E_NOT_FOUND
El certificado no contiene la extensión szOID_LOGOTYPE_EXT o szOID_BIOMETRIC_EXT , o no se encontró el lpszLogoOrBiometricType especificado.
E_INVALIDARG
Uno o más parámetros no son válidos.
ERROR_INVALID_DATA
No se pudieron recuperar datos de la dirección URL especificada por la extensión de certificado.
ERROR_NOT_SUPPORTED
El certificado no admite la extensión necesaria.
NTE_BAD_ALGID
Se desconoce el OID del algoritmo hash.

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wincrypt.h
Library Crypt32.lib
Archivo DLL Crypt32.dll

Consulte también

CryptMemFree