Partager via


structure CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO (wincrypt.h)

La structure CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO contient des informations sur un destinataire de message qui utilise la gestion des clés d’accord. Cette structure est utilisée avec la structure CMSG_RECIPIENT_ENCODE_INFO .

Syntaxe

typedef struct _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO {
  DWORD                                     cbSize;
  CRYPT_ALGORITHM_IDENTIFIER                KeyEncryptionAlgorithm;
  void                                      *pvKeyEncryptionAuxInfo;
  CRYPT_ALGORITHM_IDENTIFIER                KeyWrapAlgorithm;
  void                                      *pvKeyWrapAuxInfo;
  HCRYPTPROV_LEGACY                         hCryptProv;
  DWORD                                     dwKeySpec;
  DWORD                                     dwKeyChoice;
  union {
    PCRYPT_ALGORITHM_IDENTIFIER pEphemeralAlgorithm;
    PCERT_ID                    pSenderId;
  } DUMMYUNIONNAME;
  CRYPT_DATA_BLOB                           UserKeyingMaterial;
  DWORD                                     cRecipientEncryptedKeys;
  PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO *rgpRecipientEncryptedKeys;
} CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO, *PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO;

Membres

cbSize

Taille, en octets, de cette structure.

KeyEncryptionAlgorithm

Structure CRYPT_ALGORITHM_IDENTIFIER qui spécifie l’algorithme utilisé pour le chiffrement.

Pour les destinataires ECC, le membre pszObjId de la structure CRYPT_ALGORITHM_IDENTIFIER doit être défini sur szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF avec le membre dwKeyChoice de cette structure CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO défini sur CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE.

pvKeyEncryptionAuxInfo

Ce membre n’est actuellement pas utilisé. Il doit être défini sur NULL.

KeyWrapAlgorithm

Structure CRYPT_ALGORITHM_IDENTIFIER qui spécifie l’algorithme utilisé pour l’encapsulage de clés.

pvKeyWrapAuxInfo

Pointeur vers une structure de CMSG_RC2_AUX_INFO qui spécifie la longueur du bit d’habillage de clé. Ce membre est utilisé uniquement si le membre KeyWrapAlgorithm spécifie un algorithme RC2. Si KeyWrapAlgorithm spécifie un algorithme autre qu’un algorithme RC2, ce membre n’est pas utilisé et doit avoir la valeur NULL.

hCryptProv

Ce membre n’est pas utilisé et doit être défini sur NULL.

Windows Server 2003 et Windows XP : Handle pour un fournisseur de services de chiffrement (CSP) obtenu à l’aide de la fonction CryptAcquireContext . Ce membre est facultatif et peut avoir la valeur NULL. Le type de données de ce membre est HCRYPTPROV.

dwKeySpec

Ce membre n’est actuellement pas utilisé.

dwKeyChoice

Indique le type d’accord de clé. Ce membre peut être l’une des valeurs suivantes.

Valeur Signification
CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE
Créez une paire de clés publique/privée temporaire pour chiffrer la clé de chiffrement de contenu.
CMSG_KEY_AGREE_STATIC_KEY_CHOICE
Cette valeur n’est pas utilisée actuellement.

DUMMYUNIONNAME

DUMMYUNIONNAME.pEphemeralAlgorithm

Pointeur vers une structure CRYPT_ALGORITHM_IDENTIFIER qui contient l’algorithme et les paramètres de clé publique éphémères. Ce membre est utilisé lorsque le membre dwKeyChoice contient CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE.

DUMMYUNIONNAME.pSenderId

Pointeur vers une structure CERT_ID . Ce membre est utilisé lorsque le membre dwKeyChoice contient CMSG_KEY_AGREE_STATIC_KEY_CHOICE. Ce membre n’est actuellement pas utilisé.

UserKeyingMaterial

Une structure de CRYPT_DATA_BLOB qui contient du matériel de clé utilisateur (UKM) fourni par l’expéditeur pour garantir qu’une clé différente est générée chaque fois que les deux mêmes parties génèrent une clé par paire. Ce membre est facultatif et tous les membres doivent être définis sur zéro s’ils ne sont pas utilisés.

cRecipientEncryptedKeys

Nombre d’éléments dans le tableau rgpRecipientEncryptedKeys .

rgpRecipientEncryptedKeys

Tableau de structures CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO , une pour chaque destinataire pour recevoir cette clé d’accord clé. Le membre cRecipientEncryptedKeys contient le nombre d’éléments dans cette structure.

Configuration requise

   
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

CERT_ID

CMSG_RC2_AUX_INFO

CMSG_RECIPIENT_ENCODE_INFO

CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO

CRYPT_ALGORITHM_IDENTIFIER

CRYPT_DATA_BLOB

CryptAcquireContext