CMSG_KEY_AGREE_ENCRYPT_INFO struttura (wincrypt.h)
La struttura CMSG_KEY_AGREE_ENCRYPT_INFO contiene informazioni di crittografia applicabili a tutti i destinatari del contratto chiave di un messaggio busto. La funzione PFN_CMSG_EXPORT_KEY_AGREE aggiorna questa struttura.
Sintassi
typedef struct _CMSG_KEY_AGREE_ENCRYPT_INFO {
DWORD cbSize;
DWORD dwRecipientIndex;
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
CRYPT_DATA_BLOB UserKeyingMaterial;
DWORD dwOriginatorChoice;
union {
CERT_ID OriginatorCertId;
CERT_PUBLIC_KEY_INFO OriginatorPublicKeyInfo;
} DUMMYUNIONNAME;
DWORD cKeyAgreeKeyEncryptInfo;
PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO *rgpKeyAgreeKeyEncryptInfo;
DWORD dwFlags;
} CMSG_KEY_AGREE_ENCRYPT_INFO, *PCMSG_KEY_AGREE_ENCRYPT_INFO;
Members
cbSize
Dimensione, in byte, della struttura.
dwRecipientIndex
Valore che specifica il numero ordinale di un destinatario nell'elenco dei destinatari specificato dal parametro pContentEncryptInfo della funzione PFN_CMSG_EXPORT_KEY_AGREE .
KeyEncryptionAlgorithm
Struttura CRYPT_ALGORITHM_IDENTIFIER che specifica l'algoritmo usato per crittografare la chiave di crittografia del contenuto. La funzione CryptMsgOpenToEncode usa il membro pszObjId della struttura CRYPT_ALGORITHM_IDENTIFIER per ottenere l'indirizzo della funzione usata per esportare la chiave. La funzione può essere installata usando un'API di crittografia: identificatore dell'oggetto CNG (Next Generation) (OID).
UserKeyingMaterial
Struttura CRYPT_DATA_BLOB che contiene materiale di chiave utente fornito dal mittente per garantire che una chiave diversa venga generata ogni volta che le stesse due parti generano una chiave a livello di coppia.
dwOriginatorChoice
DWORD che indica l'identificatore della chiave da usare. Questo membro può essere uno dei valori seguenti.
Valore | Significato |
---|---|
|
OriginatorCertId |
|
OriginatorPublicKeyInfo |
DUMMYUNIONNAME
DUMMYUNIONNAME.OriginatorCertId
Struttura CERT_ID che identifica la chiave pubblica dell'origine del messaggio.
DUMMYUNIONNAME.OriginatorPublicKeyInfo
Struttura CERT_PUBLIC_KEY_INFO contenente la chiave pubblica dell'origine del messaggio.
cKeyAgreeKeyEncryptInfo
Valore che specifica il numero di destinatari nel parametro rgpKeyAgreeKeyEncryptInfo .
rgpKeyAgreeKeyEncryptInfo
Matrice di strutture CMSG_KEY_AGREE_KEY_ENCRYPT_INFO che contengono la chiave crittografata per ogni destinatario.
dwFlags
Valore che specifica i membri aggiornati e la cui allocazione di memoria deve essere liberata usando la funzione CryptMsgOpenToEncode .
Valore | Significato |
---|---|
|
Il membro UserKeyingMaterial è stato aggiornato . |
|
Il membro pszObjId della struttura CRYPT_ALGORITHM_IDENTIFIER a cui fa riferimento il membro KeyEncryptionAlgorithm è stato aggiornato. |
|
Il membro Parameters della struttura CRYPT_ALGORITHM_IDENTIFIER a cui fa riferimento il membro KeyEncryptionAlgorithm è stato aggiornato. |
|
Il membro Algorithm.pszObjId della struttura CERT_PUBLIC_KEY_INFO a cui fa riferimento il membro OriginatorPublicKeyInfo è stato aggiornato. |
|
Il membro PublicKey della struttura CERT_PUBLIC_KEY_INFO a cui fa riferimento il membro OriginatorPublicKeyInfo è stato aggiornato. |
|
Il membro Algorithm.Parameters della struttura CERT_PUBLIC_KEY_INFO a cui fa riferimento il membro OriginatorPublicKeyInfo è stato aggiornato. |
Commenti
Quando viene chiamato con il parametro dwMsgType impostato su CMSG_ENVELOPED, la funzione CryptMsgOpenToEncode inizializza la struttura di CMSG_KEY_AGREE_ENCRYPT_INFO dalla struttura CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO . La funzione CryptMsgOpenToEncode chiama la funzione PFN_CMSG_EXPORT_KEY_AGREE per aggiornare la struttura CMSG_KEY_AGREE_ENCRYPT_INFO . Se non è possibile trovare la funzione di callback, la funzione CryptMsgOpenToEncode riempie questa struttura con informazioni chiave predefinite dalla struttura CMSG_CONTENT_ENCRYPT_INFO .
I membri seguenti della struttura CMSG_KEY_AGREE_ENCRYPT_INFO possono essere aggiornati dalla funzione callback:
- UserKeyingMaterial
- KeyEncryptionAlgorithm.pszObjId
- KeyEncryptionAlgorithm.Parameters
- dwOriginatorChoice
- OriginatorCertId
- OriginatorPublicKeyInfo
- dwFlags
Gli altri membri sono di sola lettura.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Intestazione | wincrypt.h |