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 |
---|---|
|
Creare una coppia di chiavi pubblica/privata temporanea per crittografare la chiave di crittografia del contenuto. |
|
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 |