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 |
---|---|
|
Créez une paire de clés publique/privée temporaire pour chiffrer la clé de chiffrement de contenu. |
|
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 |