PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC fonction de rappel (wincrypt.h)

[La fonction PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC peut être utilisée dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il peut être modifié ou indisponible dans les versions suivantes.]

La fonction PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC chiffre la clé privée et retourne le contenu chiffré dans le paramètre pbEncryptedKey . Il s’agit d’une fonction de rappel identifiée dans une structure de CRYPT_PKCS8_EXPORT_PARAMS qui crée une structure PKCS #8 CRYPT_ENCRYPTED_PRIVATE_KEY_INFO . La fonction doit être implémentée par le développeur pour s’adapter à chaque application.

Syntaxe

PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC PcryptEncryptPrivateKeyFunc;

BOOL PcryptEncryptPrivateKeyFunc(
  [out]     CRYPT_ALGORITHM_IDENTIFIER *pAlgorithm,
  [in]      CRYPT_DATA_BLOB *pClearTextPrivateKey,
  [out]     BYTE *pbEncryptedKey,
  [in, out] DWORD *pcbEncryptedKey,
  [in]      LPVOID pVoidEncryptFunc
)
{...}

Paramètres

[out] pAlgorithm

Pointeur vers une structure de CRYPT_ALGORITHM_IDENTIFIER pour recevoir l’algorithme utilisé pour chiffrer le type ASN.1 PrivateKeyInfo trouvé dans la norme PKCS #8.

[in] pClearTextPrivateKey

Pointeur vers une structure de CRYPT_DATA_BLOB qui contient la clé privée en texte clair à chiffrer.

[out] pbEncryptedKey

Pointeur vers une mémoire tampon BYTE pour recevoir l’objet BLOB de clé privée chiffrée. Si ce paramètre a la valeur NULL, pcbEncryptedKey retourne la taille, en octets, de la mémoire nécessaire pour contenir la clé chiffrée lors d’un appel ultérieur à cette fonction.

[in, out] pcbEncryptedKey

Pointeur vers une variable DWORD qui contient la taille, en octets, de la mémoire tampon pbEncryptedKey . Si pbEncryptedKey a la valeur NULL, pcbEncryptedKey est défini sur la taille, en octets, requise pour chiffrer la clé. Pour plus d’informations, consultez Récupération de données de longueur inconnue.

[in] pVoidEncryptFunc

Variable LPVOID qui contient des données utilisées pour le chiffrement, telles que la clé, le vecteur d’initialisation et le mot de passe.

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

Configuration requise

   
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

Voir aussi

CRYPT_PKCS8_EXPORT_PARAMS

PCRYPT_DECRYPT_PRIVATE_KEY_FUNC