Partager via


PFN_CMSG_IMPORT_KEY_AGREE fonction de rappel (wincrypt.h)

La fonction de rappel PFN_CMSG_IMPORT_KEY_AGREE importe une clé de chiffrement de contenu pour un destinataire de transport de clé d’un message enveloppe. PFN_CMSG_IMPORT_KEY_AGREE pouvez être installé à l’aide d’un identificateur d’objetCryptoAPI (OID). 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_AGREE PfnCmsgImportKeyAgree;

BOOL PfnCmsgImportKeyAgree(
  [in]  PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm,
  [in]  PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA pKeyAgreeDecryptPara,
  [in]  DWORD dwFlags,
        void *pvReserved,
  [out] HCRYPTKEY *phContentEncryptKey
)
{...}

Paramètres

[in] pContentEncryptionAlgorithm

Pointeur vers une structure CRYPT_ALGORITHM_IDENTIFIER qui spécifie l’algorithme utilisé pour chiffrer le contenu du message et les paramètres associés.

[in] pKeyAgreeDecryptPara

Pointeur vers une structure CMSG_CTRL_KEY_AGREE_DECRYPT_PARA qui contient des informations sur le destinataire du contrat 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 être NULL.

[out] phContentEncryptKey

Adresse d’un handle à la clé de chiffrement de contenu retournée par cette fonction.

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 égale à 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 faux et appeler SetLastError avec E_NOTIMPL.

Remarques

Vous pouvez utiliser 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_AGREE_FUNC ou CMSG_OID_CAPI1_IMPORT_KEY_AGREE_FUNC « CryptMsgDllImportKeyAgree »

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