PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY fonction de rappel (wincrypt.h)

La fonction de rappel PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY importe une clé de chiffrement de contenu (CEK) déjà déchiffrée. La fonction PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY peut être installée à l’aide d’un identificateur d’objet (OID) de l’API de chiffrement : nouvelle génération (CNG).

Syntaxe

PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY PfnCmsgCngImportContentEncryptKey;

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

Paramètres

[in, out] pCNGContentDecryptInfo

Pointeur vers une structure CMSG_CNG_CONTENT_DECRYPT_INFO à mettre à jour avec la clé CEK importée. Cette structure contient toutes les informations pertinentes transmises à la fonction CryptMsgControl .

[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 son paramètre dwCtrlType :

CMSG_CTRL_DECRYPT
CMSG_CTRL_KEY_TRANS_DECRYPT
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_CONTENT_ENCRYPT_KEY_FUNC « CryptMsgDllCNGImportContentEncryptKey »
 

Exemples

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

Configuration requise

Condition requise Valeur
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