Share via


CMSG_KEY_TRANS_ENCRYPT_INFO structure (wincrypt.h)

La structure CMSG_KEY_TRANS_ENCRYPT_INFO contient des informations de chiffrement pour un destinataire de transport de clé de données enveloppées. La fonction PFN_CMSG_EXPORT_KEY_TRANS met à jour cette structure.

Syntaxe

typedef struct _CMSG_KEY_TRANS_ENCRYPT_INFO {
  DWORD                      cbSize;
  DWORD                      dwRecipientIndex;
  CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
  CRYPT_DATA_BLOB            EncryptedKey;
  DWORD                      dwFlags;
} CMSG_KEY_TRANS_ENCRYPT_INFO, *PCMSG_KEY_TRANS_ENCRYPT_INFO;

Membres

cbSize

Taille, en octets, de cette structure.

dwRecipientIndex

Valeur qui spécifie le numéro ordinal d’un destinataire dans la liste des destinataires spécifiée par le paramètre pContentEncryptInfo de la fonction PFN_CMSG_EXPORT_KEY_TRANS .

KeyEncryptionAlgorithm

Structure CRYPT_ALGORITHM_IDENTIFIER qui spécifie l’algorithme de la clé publique du destinataire. La fonction CryptMsgOpenToEncode utilise le membre pszObjId de la structure CRYPT_ALGORITHM_IDENTIFIER pour obtenir l’adresse de la fonction utilisée pour exporter la clé. La fonction peut être installée à l’aide d’une API de chiffrement : identificateur d’objet (OID) CNG (Next Generation).

EncryptedKey

Structure CRYPT_DATA_BLOB qui contient la clé de session chiffrée par la clé publique du destinataire.

dwFlags

Valeur qui spécifie les membres qui ont été mis à jour et dont l’allocation de mémoire doit être libérée à l’aide de la fonction CryptMsgOpenToEncode .

Valeur Signification
CMSG_KEY_TRANS_ENCRYPT_FREE_OBJID_FLAG
0x00000002
Le membre pszObjId de la structure CRYPT_ALGORITHM_IDENTIFIER référencée par le membre KeyEncryptionAlgorithm a été mis à jour.
CMSG_KEY_TRANS_ENCRYPT_FREE_PARA_FLAG
0x00000001
Le membre ParameterspbData de la structure CRYPT_ALGORITHM_IDENTIFIER référencée par le membre KeyEncryptionAlgorithm a été mis à jour.

Remarques

Lorsqu’elle est appelée avec le paramètre dwMsgType défini sur CMSG_ENVELOPED, la fonction CryptMsgOpenToEncode initialise la structure CMSG_KEY_TRANS_ENCRYPT_INFO à partir de la structure CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO . La fonction CryptMsgOpenToEncode appelle la fonction PFN_CMSG_EXPORT_KEY_TRANS pour mettre à jour la structure CMSG_KEY_TRANS_ENCRYPT_INFO . Si la fonction de rappel est introuvable, la fonction CryptMsgOpenToEncode remplit cette structure avec les informations de clé par défaut de la structure CMSG_CONTENT_ENCRYPT_INFO .

Les membres suivants de la structure CMSG_KEY_TRANS_ENCRYPT_INFO peuvent être mis à jour par la fonction de rappel :

Encryptedkey
KeyEncryptionAlgorithm.pszObjId
KeyEncryptionAlgorithm.Parameters
dwFlags

Les autres membres sont en lecture seule.

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]
En-tête wincrypt.h

Voir aussi

Encodage des données enveloppées