Fonction CryptExportPublicKeyInfo (wincrypt.h)
La fonction CryptExportPublicKeyInfo exporte les informations de clé publique associées à la clé privée correspondante du fournisseur. Pour obtenir une version mise à jour de cette fonction, consultez CryptExportPublicKeyInfoEx.
Syntaxe
BOOL CryptExportPublicKeyInfo(
[in] HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey,
[in] DWORD dwKeySpec,
[in] DWORD dwCertEncodingType,
[out] PCERT_PUBLIC_KEY_INFO pInfo,
[in, out] DWORD *pcbInfo
);
Paramètres
[in] hCryptProvOrNCryptKey
Gérer le fournisseur de services de chiffrement (CSP) à utiliser lors de l’exportation des informations de clé publique. Ce handle doit être un handle HCRYPTPROV qui a été créé à l’aide de la fonction CryptAcquireContext ou un handle NCRYPT_KEY_HANDLE qui a été créé à l’aide de la fonction NCryptOpenKey . Les nouvelles applications doivent toujours passer le NCRYPT_KEY_HANDLE handle d’un fournisseur de solutions cloud CNG.
[in] dwKeySpec
Identifie la clé privée à utiliser à partir du conteneur du fournisseur. Il peut être AT_KEYEXCHANGE ou AT_SIGNATURE. Ce paramètre est ignoré si un NCRYPT_KEY_HANDLE est utilisé dans le paramètre hCryptProvOrNCryptKey .
[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
[out] pInfo
Pointeur vers une structure de CERT_PUBLIC_KEY_INFO pour recevoir les informations de clé publique à exporter.
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] pcbInfo
Pointeur vers un DWORD qui contient la taille, en octets, de la mémoire tampon vers laquelle pointe le paramètre pInfo . Lorsque la fonction retourne, le DWORD contient le nombre d’octets nécessaires pour la mémoire tampon de retour.
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 pInfo 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 pcbInfo. |
|
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 uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wincrypt.h |
Bibliothèque | Crypt32.lib |
DLL | Crypt32.dll |