Fonction CryptHashPublicKeyInfo (wincrypt.h)
Syntaxe
BOOL CryptHashPublicKeyInfo(
[in] HCRYPTPROV_LEGACY hCryptProv,
[in] ALG_ID Algid,
[in] DWORD dwFlags,
[in] DWORD dwCertEncodingType,
[in] PCERT_PUBLIC_KEY_INFO pInfo,
[out] BYTE *pbComputedHash,
[in, out] DWORD *pcbComputedHash
);
Paramètres
[in] hCryptProv
Ce paramètre n’est pas utilisé et doit être défini sur NULL.
Windows Server 2003 et Windows XP : Handle du fournisseur de services de chiffrement (CSP) à utiliser pour calculer le hachage. Le type de données de ce paramètre est HCRYPTPROV.
Sauf s’il existe une raison forte de passer un fournisseur de chiffrement spécifique dans hCryptProv, zéro est transmis. La transmission de zéro entraîne l’acquisition du fournisseur RSA ou DSS ( Digital Signature Standard ) par défaut avant d’effectuer des opérations de hachage, de vérification de signature ou de chiffrement de destinataire.
[in] Algid
Structure ALG_ID qui spécifie l’algorithme de hachage CryptoAPI à utiliser. Si Algid est égal à zéro, l’algorithme de hachage par défaut, MD5, est utilisé.
[in] dwFlags
Valeurs à transmettre à CryptCreateHash.
[in] dwCertEncodingType
Spécifie le type d’encodage utilisé. Il est toujours acceptable de spécifier les types d’encodage de certificat et de message en les combinant avec une opération OR au niveau du bit, comme illustré dans l’exemple suivant :
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
Les types d’encodage actuellement définis sont les suivants :
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pInfo
Pointeur vers une structure de CERT_PUBLIC_KEY_INFO qui contient les informations de clé publique à encoder et à hacher.
[out] pbComputedHash
Pointeur vers une mémoire tampon pour recevoir le hachage calculé.
Pour définir la taille de ces informations à des fins d’allocation de mémoire, ce paramètre peut avoir la valeur NULL. Pour plus d’informations, consultez Récupération de données de longueur inconnue.
[in, out] pcbComputedHash
Pointeur vers un DWORD qui contient la taille, en octets, de la mémoire tampon pointée par le paramètre pbComputedHash . Lorsque la fonction retourne, le DWORD contient le nombre d’octets stockés dans la mémoire tampon.
Valeur retournée
Si la fonction réussit, la fonction retourne une valeur différente de zéro (TRUE).
Si la fonction échoue, elle retourne zéro (FALSE). Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Code de retour | Description |
---|---|
|
Si la mémoire tampon spécifiée par le paramètre pbComputedHash n’est pas assez grande pour contenir les données retournées, la fonction définit le code ERROR_MORE_DATA et stocke la taille de mémoire tampon requise, en octets, dans la variable pointée par pcbComputedHash. |
|
Type d’encodage de certificat non valide. Actuellement, seule X509_ASN_ENCODING est prise en charge. |
Si la fonction échoue, GetLastError peut renvoyer une erreur d’encodage/décodage asN.1 ( Abstract Syntax Notation One ). Pour plus d’informations sur ces erreurs, consultez Valeurs de retour d’encodage/décodage ASN.1.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | wincrypt.h |
Bibliothèque | Crypt32.lib |
DLL | Crypt32.dll |