PFN_CMSG_IMPORT_KEY_TRANS fonction de rappel (wincrypt.h)
La fonction de rappel PFN_CMSG_IMPORT_KEY_TRANS importe une clé de chiffrement de contenu pour un destinataire de transport de clé d’un message enveloppe. PFN_CMSG_IMPORT_KEY_TRANS peut être installé à l’aide d’un identificateurd’objet CryptoAPI. Cette fonction est appelée par la fonction CryptMsgControl lorsque son paramètre dwCtrlType est défini sur CMSG_CTRL_DECRYPT.
Syntaxe
PFN_CMSG_IMPORT_KEY_TRANS PfnCmsgImportKeyTrans;
BOOL PfnCmsgImportKeyTrans(
[in] PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm,
[in] PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA pKeyTransDecryptPara,
[in] DWORD dwFlags,
void *pvReserved,
[out] HCRYPTKEY *phContentEncryptKey
)
{...}
Paramètres
[in] pContentEncryptionAlgorithm
Pointeur vers une structure de CRYPT_ALGORITHM_IDENTIFIER qui spécifie l’algorithme utilisé pour chiffrer le contenu du message et tous les paramètres associés.
[in] pKeyTransDecryptPara
Pointeur vers une structure de CMSG_CTRL_KEY_TRANS_DECRYPT_PARA qui contient des informations sur le destinataire de transport de 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.
[out] phContentEncryptKey
Adresse d’un handle à la clé de chiffrement de contenu retournée par cette fonction.
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 chiffrement de clé, elle doit retourner FALSE et appeler SetLastError avec E_NOTIMPL.
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.
Constant | Définition |
---|---|
CMSG_OID_IMPORT_KEY_TRANS_FUNC ou CMSG_OID_CAPI1_IMPORT_KEY_TRANS_FUNC | « CryptMsgDllImportKeyTrans » |
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 |