Fonction CertRetrieveLogoOrBiometricInfo (wincrypt.h)

La fonction CertRetrieveLogoOrBiometricInfo effectue une récupération d’URL des informations biométriques ou de logo spécifiées dans l’extension de certificat szOID_LOGOTYPE_EXT ou szOID_BIOMETRIC_EXT . L’extension szOID_BIOMETRIC_EXT (IETF RFC 3739) prend en charge l’ajout d’une signature ou d’une représentation graphique du détenteur humain du certificat. L’extension szOID_LOGOTYPE_EXT (IETF RFC 3709) prend en charge l’ajout de représentations graphiques organisationnelles dans les certificats.

Syntaxe

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

Paramètres

[in] pCertContext

Adresse d’une structure de CERT_CONTEXT qui contient le certificat.

[in] lpszLogoOrBiometricType

Adresse d’une chaîne ANSI terminée par null qui contient une chaîne d’identificateur d’objet (OID) qui identifie le type d’informations à récupérer.

Ce paramètre peut également contenir l’une des valeurs prédéfinies suivantes.

Valeur Signification
CERT_RETRIEVE_ISSUER_LOGO
Récupérez le logotype de l’émetteur de certificat.
CERT_RETRIEVE_SUBJECT_LOGO
Récupérez le logotype de l’objet du certificat.
CERT_RETRIEVE_COMMUNITY_LOGO
Récupérez le logo de communauté de certificats.
CERT_RETRIEVE_BIOMETRIC_PICTURE_TYPE
Récupérez l’image associée au certificat.
CERT_RETRIEVE_BIOMETRIC_SIGNATURE_TYPE
Récupérez la signature associée au certificat.

[in] dwRetrievalFlags

Ensemble d’indicateurs qui spécifient la façon dont les informations doivent être récupérées. Ce paramètre est passé en tant que dwRetrievalFlags dans la fonction CryptRetrieveObjectByUrl .

[in] dwTimeout

Durée maximale, en millisecondes, d’attente de la récupération.

[in] dwFlags

Ce paramètre n’est pas utilisé et doit être égal à zéro.

pvReserved

Ce paramètre n’est pas utilisé et doit être NULL.

[out] ppbData

Adresse d’un pointeur BYTE qui reçoit le logotype ou les données biométriques. Cette mémoire doit être libérée quand elle n’est plus nécessaire en passant ce pointeur à la fonction CryptMemFree .

[out] pcbData

Adresse d’une variable DWORD qui reçoit le nombre d’octets dans la mémoire tampon ppbData .

[out] ppwszMimeType

Adresse d’un pointeur vers une chaîne Unicode terminée par null qui reçoit le type MIME (Multipurpose Internet Mail Extensions) des données. Ce paramètre peut être NULL si ces informations ne sont pas nécessaires. Cette mémoire doit être libérée quand elle n’est plus nécessaire en passant ce pointeur à la fonction CryptMemFree .

Cette adresse reçoit toujours null pour les types biométriques. Vous devez toujours vous assurer que ce paramètre contient une adresse mémoire valide avant de tenter d’accéder à la mémoire.

Valeur retournée

Retourne une valeur différente de zéro en cas de réussite ou de zéro dans le cas contraire.

Pour obtenir des informations d’erreur étendues, appelez GetLastError. Les codes d’erreur possibles retournés par la fonction GetLastError incluent, sans s’y limiter, les éléments suivants.

Code de retour Description
CRYPT_E_HASH_VALUE
La valeur de hachage calculée ne correspond pas à la valeur de hachage dans le certificat.
CRYPT_E_NOT_FOUND
Le certificat ne contient pas l’extension szOID_LOGOTYPE_EXT ou szOID_BIOMETRIC_EXT , ou le lpszLogoOrBiometricType spécifié est introuvable.
E_INVALIDARG
Un ou plusieurs paramètres ne sont pas valides.
ERROR_INVALID_DATA
Aucune donnée n’a pu être récupérée à partir de l’URL spécifiée par l’extension de certificat.
ERROR_NOT_SUPPORTED
Le certificat ne prend pas en charge l’extension requise.
NTE_BAD_ALGID
L’OID de l’algorithme de hachage est inconnu.

Configuration requise

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wincrypt.h
Bibliothèque Crypt32.lib
DLL Crypt32.dll

Voir aussi

CryptMemFree