Partager via


Fonction CryptExportPublicKeyInfoFromBCryptKeyHandle (wincrypt.h)

La fonction CryptExportPublicKeyInfoFromBCryptKeyHandle exporte les informations de clé publique associées à la clé privée correspondante d’un fournisseur.

Syntaxe

BOOL CryptExportPublicKeyInfoFromBCryptKeyHandle(
  [in]            BCRYPT_KEY_HANDLE     hBCryptKey,
  [in]            DWORD                 dwCertEncodingType,
  [in, optional]  LPSTR                 pszPublicKeyObjId,
  [in]            DWORD                 dwFlags,
  [in, optional]  void                  *pvAuxInfo,
  [out, optional] PCERT_PUBLIC_KEY_INFO pInfo,
  [in, out]       DWORD                 *pcbInfo
);

Paramètres

[in] hBCryptKey

Handle de la clé à partir de laquelle exporter les informations de clé publique.

[in] dwCertEncodingType

Spécifie le type d’encodage à mettre en correspondance.

Cette valeur peut être une combinaison au niveau du bit des types d’encodage actuellement définis :

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in, optional] pszPublicKeyObjId

Pointeur vers l’identificateur d’objet (OID) qui identifie la fonction installable à utiliser pour exporter la clé. Si le mot d’ordre supérieur de l’OID est différent de zéro, pszPublicKeyObjId est un pointeur vers une chaîne OID telle que « 2.5.29.1 » ou une chaîne ASCII telle que « file ». Si le mot d’ordre supérieur de l’OID est égal à zéro, le mot d’ordre inférieur spécifie l’identificateur entier à utiliser comme identificateur d’objet.

[in] dwFlags

Valeur DWORD qui indique comment les informations de clé publique sont exportées.

Valeur Signification
CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG
0x80000000
Ignore les clés publiques du groupe CRYPT_PUBKEY_ALG_OID_GROUP_ID qui sont explicitement marquées avec l’indicateur CRYPT_OID_PUBKEY_ENCRYPT_ONLY_FLAG .
CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG
0x40000000
Ignore les clés publiques du groupe CRYPT_PUBKEY_ALG_OID_GROUP_ID qui sont explicitement marquées avec l’indicateur CRYPT_OID_PUBKEY_SIGN_ONLY_FLAG .

[in, optional] pvAuxInfo

Ce paramètre est réservé pour une utilisation ultérieure et doit être défini sur NULL.

[out, optional] pInfo

Pointeur vers une structure de CERT_PUBLIC_KEY_INFO pour recevoir les informations de clé publique à exporter.

Ce paramètre peut être NULL pour définir la taille de ces informations à des fins d’allocation de mémoire. 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 stockés dans la mémoire tampon.

Valeur retournée

La fonction retourne TRUE si elle réussit ; sinon, elle retourne FALSE.

Remarques

Si la fonction CryptExportPublicKeyInfoFromBCryptKeyHandle ne parvient pas à trouver une fonction OID installable pour l’OID spécifié par le paramètre pszPublicKeyObjId , elle tente d’exporter la clé en tant que clé publique RSA (szOID_RSA_RSA). Si la clé est exportée en tant que clé publique RSA, les valeurs des paramètres dwFlags et pvAuxInfo ne sont pas utilisées.

Configuration requise

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