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 |