PFN_CMSG_CNG_IMPORT_KEY_AGREE fonction de rappel (wincrypt.h)

La fonction de rappel PFN_CMSG_CNG_IMPORT_KEY_AGREE déchiffre une clé de chiffrement de contenu (CEK) destinée à un destinataire de contrat de clé. PFN_CMSG_CNG_IMPORT_KEY_AGREE pouvez être installés à l’aide d’un identificateur d’objet (OID) de l’API de chiffrement : nouvelle génération (CNG).

Syntaxe

PFN_CMSG_CNG_IMPORT_KEY_AGREE PfnCmsgCngImportKeyAgree;

BOOL PfnCmsgCngImportKeyAgree(
  [in, out] PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo,
  [in]      PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA pKeyAgreeDecryptPara,
  [in]      DWORD dwFlags,
            void *pvReserved
)
{...}

Paramètres

[in, out] pCNGContentDecryptInfo

Pointeur vers une structure CMSG_CNG_CONTENT_DECRYPT_INFO à mettre à jour avec les octets CEK déchiffrés. Ce paramètre contient la clé utilisée pour déchiffrer la clé CEK. Le paramètre pKeyTransDecryptPara suivant contient les octets CEK à déchiffrer.

[in] pKeyAgreeDecryptPara

Pointeur vers une structure de CMSG_CTRL_KEY_AGREE_DECRYPT_PARA qui contient les informations d’accord de clé passées à la fonction CryptMsgControl dans le cas CMSG_CTRL_KEY_AGREE_DECRYPT .

Le membre EncryptedKey du membre pKeyAgree contient les octets CEK à déchiffrer. Étant donné qu’une structure CMSG_CTRL_KEY_AGREE_DECRYPT_PARA peut contenir un choix HCRYPTPROV , son membre hNCryptKey ne doit pas être utilisé pour déchiffrer EncryptedKey. Au lieu de cela, vous devez utiliser le membre hNCryptKey spécifié dans le paramètre pCNGContentDecryptInfo .

Cette fonction ne doit pas mettre à jour les membres de la structure CMSG_CTRL_KEY_AGREE_DECRYPT_PARA .

[in] dwFlags

Ce paramètre est réservé. Définissez-le sur zéro.

pvReserved

Ce paramètre est réservé. Définissez-le sur 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.

Si cette fonction de rappel ne prend pas en charge l’algorithme de chiffrement de clé, elle doit retourner FALSE et appeler SetLastError avec ERROR_NOT_SUPPORTED.

Remarques

La fonction CryptMsgControl appelle cette fonction pour les opérations suivantes spécifiées par le paramètre dwCtrlType :

CMSG_CTRL_KEY_AGREE_DECRYPT Vous pouvez utiliser les fonctions de support OID pour déployer cette fonction de rappel. Wincrypt.h définit la constante suivante à cet effet.

Constant Définition
CMSG_OID_CNG_IMPORT_KEY_AGREE_FUNC « CryptMsgDllCNGImportKeyAgree »
 

Exemples

Pour obtenir un exemple qui déploie une fonction de rappel installable OID, consultez Extension des fonctionnalités CryptoAPI.

Configuration requise

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wincrypt.h

Voir aussi

Décodage des données enveloppées