PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY fonction de rappel (wincrypt.h)

La fonction de rappel PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY génère la clé symétrique utilisée pour chiffrer le contenu d’un message enveloppé. Cette fonction est appelée par la fonction CryptMsgOpenToEncode lorsqu’elle initialise la structure CMSG_CONTENT_ENCRYPT_INFO .

Syntaxe

PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY PfnCmsgGenContentEncryptKey;

BOOL PfnCmsgGenContentEncryptKey(
  [in, out] PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo,
  [in]      DWORD dwFlags,
            void *pvReserved
)
{...}

Paramètres

[in, out] pContentEncryptInfo

Pointeur vers une structure CMSG_CONTENT_ENCRYPT_INFO qui contient la clé.

[in] dwFlags

Cette valeur n'est pas utilisée. Définissez-le sur zéro.

pvReserved

Ce paramètre est réservé et doit avoir la valeur NULL.

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.

Remarques

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

Vous devez définir différentes fonctions de rappel pour les clés CAPI1 et l’API chiffrement : clés CNG (Next Generation). Les deux fonctions ont la même signature, mais utilisent des identificateurs d’objet (OID) différents. La fonction appelée dépend de la valeur du membre fCNG de la structure CMSG_CONTENT_ENCRYPT_INFO pointée par le paramètre pContentEncryptInfo . Le tableau suivant montre la relation entre la fonction de rappel et la valeur du membre fCNG .

Valeur fCNG Constant Définition
FALSE CMSG_OID_GEN_CONTENT_ENCRYPT_KEY_FUNC ou CMSG_OID_CAPI1_GEN_CONTENT_ENCRYPT_KEY_FUNC « CryptMsgDllGenContentEncryptKey »
TRUE CMSG_OID_CNG_GEN_CONTENT_ENCRYPT_KEY_FUNC « CryptMsgDllCNGGenContentEncryptKey »

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