PFN_CMSG_EXPORT_KEY_TRANS fonction de rappel (wincrypt.h)
La fonction de rappel PFN_CMSG_EXPORT_KEY_TRANS chiffre et exporte la clé de chiffrement de contenu pour un destinataire de transport de clé d’un message enveloppe. PFN_CMSG_EXPORT_KEY_TRANS pouvez être installé à l’aide d’un identificateur d’objet CryptoAPI (OID). Cette fonction est appelée par la fonction CryptMsgOpenToEncode lorsque son paramètre dwMsgType est défini sur CMSG_ENVELOPED.
Syntaxe
PFN_CMSG_EXPORT_KEY_TRANS PfnCmsgExportKeyTrans;
BOOL PfnCmsgExportKeyTrans(
[in] PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo,
[in] PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO pKeyTransEncodeInfo,
[in, out] PCMSG_KEY_TRANS_ENCRYPT_INFO pKeyTransEncryptInfo,
[in] DWORD dwFlags,
void *pvReserved
)
{...}
Paramètres
[in] pContentEncryptInfo
Pointeur vers une structure CMSG_CONTENT_ENCRYPT_INFO qui contient la clé de chiffrement de contenu.
[in] pKeyTransEncodeInfo
Pointeur vers une structure CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO qui spécifie la clé publique du destinataire utilisée pour chiffrer la clé de chiffrement de contenu.
[in, out] pKeyTransEncryptInfo
Pointeur vers une structure CMSG_KEY_TRANS_ENCRYPT_INFO qui contient la clé de chiffrement de contenu chiffrée.
[in] dwFlags
Cette valeur n’est pas utilisée. Définissez-le sur zéro.
pvReserved
Cette valeur est réservée. Définissez-la sur NULL.
Valeur de retour
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
La fonction PFN_CMSG_EXPORT_KEY_TRANS doit mettre à jour le membre EncryptedKey de la structure CMSG_KEY_TRANS_ENCRYPT_INFO pointée par le paramètre pKeyTransEncryptInfo. Cette fonction doit utiliser les membres pfnAlloc et pfnFree de la structure CMSG_CONTENT_ENCRYPT_INFO pointée par le paramètre pContentEncryptInfo pour gérer l’allocation de mémoire pour la clé chiffrée.
Vous pouvez utiliser 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 de chiffrement : clés CNG (Next Generation). Les deux fonctions ont la même signature, mais utilisent des OID différents. La fonction appelée dépend de la valeur du membre fCNG
fCNG, valeur | Constant | Définition |
---|---|---|
FAUX | CMSG_OID_EXPORT_KEY_TRANS_FUNC ou CMSG_OID_CAPI1_EXPORT_KEY_TRANS_FUNC | « CryptMsgDllExportKeyTrans » |
VRAI | CMSG_OID_CNG_EXPORT_KEY_TRANS_FUNC | « CryptMsgDllCNGExportKeyTrans » |
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows XP [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | wincrypt.h |