struttura CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO (wincrypt.h)

La struttura CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO contiene informazioni su un destinatario del messaggio che usa la gestione delle chiavi del contratto chiave. Questa struttura viene utilizzata con la struttura CMSG_RECIPIENT_ENCODE_INFO .

Sintassi

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;

Members

cbSize

Dimensione, in byte, della struttura.

KeyEncryptionAlgorithm

Struttura CRYPT_ALGORITHM_IDENTIFIER che specifica l'algoritmo utilizzato per la crittografia.

Per i destinatari ECC, il membro pszObjId della struttura CRYPT_ALGORITHM_IDENTIFIER deve essere impostato su szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF con il membro dwKeyChoice di questa struttura CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO impostata su CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE.

pvKeyEncryptionAuxInfo

Questo membro non è attualmente utilizzato. Deve essere impostato su NULL.

KeyWrapAlgorithm

Struttura CRYPT_ALGORITHM_IDENTIFIER che specifica l'algoritmo utilizzato per il wrapping delle chiavi.

pvKeyWrapAuxInfo

Puntatore a una struttura CMSG_RC2_AUX_INFO che specifica la lunghezza del bit di ritorno a capo della chiave. Questo membro viene utilizzato solo se il membro KeyWrapAlgorithm specifica un algoritmo RC2. Se KeyWrapAlgorithm specifica un algoritmo diverso da un algoritmo RC2, questo membro non viene utilizzato e deve essere NULL.

hCryptProv

Questo membro non viene usato e deve essere impostato su NULL.

Windows Server 2003 e Windows XP: Handle per un provider di servizi di crittografia (CSP) ottenuto tramite la funzione CryptAcquireContext . Questo membro è facoltativo e può essere NULL. Il tipo di dati di questo membro è HCRYPTPROV.

dwKeySpec

Questo membro non è attualmente utilizzato.

dwKeyChoice

Indica il tipo di contratto di chiave. Questo membro può essere uno dei valori seguenti.

Valore Significato
CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE
Creare una coppia di chiavi pubblica/privata temporanea per crittografare la chiave di crittografia del contenuto.
CMSG_KEY_AGREE_STATIC_KEY_CHOICE
Questo valore non è attualmente usato.

DUMMYUNIONNAME

DUMMYUNIONNAME.pEphemeralAlgorithm

Puntatore a una struttura CRYPT_ALGORITHM_IDENTIFIER che contiene l'algoritmo e i parametri di chiave pubblica temporanei. Questo membro viene utilizzato quando il membro dwKeyChoice contiene CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE.

DUMMYUNIONNAME.pSenderId

Puntatore a una struttura CERT_ID . Questo membro viene utilizzato quando il membro dwKeyChoice contiene CMSG_KEY_AGREE_STATIC_KEY_CHOICE. Questo membro non è attualmente utilizzato.

UserKeyingMaterial

Struttura CRYPT_DATA_BLOB che contiene il materiale di keying utente (UKM) fornito dal mittente per assicurarsi che venga generata una chiave diversa ogni volta che le stesse due parti generano una chiave a coppie. Questo membro è facoltativo e tutti i membri devono essere impostati su zero se non utilizzati.

cRecipientEncryptedKeys

Numero di elementi nella matrice rgpRecipientEncryptedKeys .

rgpRecipientEncryptedKeys

Matrice di strutture CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO , una per ogni destinatario per ricevere la chiave del contratto di chiave. Il membro cRecipientEncryptedKeys contiene il numero di elementi in questa struttura.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione wincrypt.h

Vedi anche

CERT_ID

CMSG_RC2_AUX_INFO

CMSG_RECIPIENT_ENCODE_INFO

CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO

CRYPT_ALGORITHM_IDENTIFIER

CRYPT_DATA_BLOB

Cryptacquirecontext