Partager via


PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC fonction de rappel (wincrypt.h)

La fonction de rappel PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC est appelée par CryptExportPublicKeyInfoEx pour exporter un objet BLOB de clé publique et l’encoder.

Syntaxe

PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC PfnCryptExportPublicKeyInfoEx2Func;

BOOL PfnCryptExportPublicKeyInfoEx2Func(
  [in]            NCRYPT_KEY_HANDLE hNCryptKey,
  [in]            DWORD dwCertEncodingType,
  [in]            LPSTR pszPublicKeyObjId,
  [in]            DWORD dwFlags,
  [in, optional]  void *pvAuxInfo,
  [out, optional] PCERT_PUBLIC_KEY_INFO pInfo,
  [in, out]       DWORD *pcbInfo
)
{...}

Paramètres

[in] hNCryptKey

Handle du fournisseur de services de chiffrement (CSP) à utiliser lors de l’exportation des informations de clé publique. Ce handle doit être un NCRYPT_KEY_HANDLE handle qui a été créé à l’aide de la fonction NCryptOpenKey .

[in] dwCertEncodingType

Valeur qui 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] pszPublicKeyObjId

Pointeur vers une chaîne qui contient l’algorithme de clé publique.

[in] dwFlags

Valeur qui indique comment les informations de clé publique sont exportées. Il peut s’agir de zéro.

[in, optional] pvAuxInfo

Ce paramètre est réservé à 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 avoir la valeur 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.

Note Lors du traitement des données retournées dans la mémoire tampon, les applications doivent utiliser la taille réelle des données retournées. La taille réelle peut être légèrement inférieure à la taille de la mémoire tampon spécifiée lors de l’entrée. (En entrée, les tailles de mémoire tampon sont généralement spécifiées suffisamment grandes pour garantir que les données de sortie les plus volumineuses possibles s’intègrent dans la mémoire tampon.) En sortie, la variable pointée par ce paramètre est mise à jour pour refléter la taille réelle des données copiées dans la mémoire tampon.
 

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro (TRUE).

Si la fonction échoue, la valeur de retour est zéro (FALSE). Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Si cette fonction de rappel ne prend pas en charge l’algorithme de signature, elle doit retourner FALSE et appeler SetLastError avec ERROR_NOT_SUPPORTED.

Remarques

Vous pouvez utiliser les fonctions de support OID pour déployer cette fonction de rappel. Wincrypt.h définit la constante suivante à cet effet.

Constant Définition
CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC « CryptDllExportPublicKeyInfoEx2 »

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