CMSG_KEY_AGREE_ENCRYPT_INFO-Struktur (wincrypt.h)
Die CMSG_KEY_AGREE_ENCRYPT_INFO-Struktur enthält Verschlüsselungsinformationen, die für alle Schlüsselabredeempfänger einer umhüllten Nachricht gelten. Die PFN_CMSG_EXPORT_KEY_AGREE-Funktion aktualisiert diese Struktur.
Syntax
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;
Member
cbSize
Die Größe (in Bytes) dieser Struktur.
dwRecipientIndex
Ein -Wert, der die Ordnungszahl eines Empfängers in der Empfängerliste angibt, die durch den pContentEncryptInfo-Parameter der PFN_CMSG_EXPORT_KEY_AGREE-Funktion angegeben wird.
KeyEncryptionAlgorithm
Eine CRYPT_ALGORITHM_IDENTIFIER-Struktur , die den Algorithmus angibt, der zum Verschlüsseln des Inhaltsverschlüsselungsschlüssels verwendet wird. Die CryptMsgOpenToEncode-Funktion verwendet den pszObjId-Member der CRYPT_ALGORITHM_IDENTIFIER-Struktur , um die Adresse der Funktion abzurufen, die zum Exportieren des Schlüssels verwendet wird. Die Funktion kann mithilfe einer Kryptografie-API installiert werden: CNG-Objektbezeichner (OID).
UserKeyingMaterial
Eine CRYPT_DATA_BLOB-Struktur , die vom Absender bereitgestelltes Benutzerschlüsselmaterial enthält, um sicherzustellen, dass jedes Mal ein anderer Schlüssel generiert wird, wenn die gleichen beiden Parteien einen paarweisen Schlüssel generieren.
dwOriginatorChoice
Ein DWORD , das den zu verwendenden Schlüsselbezeichner angibt. Dieser Member kann einer der folgenden Werte sein.
Wert | Bedeutung |
---|---|
|
OriginatorCertId |
|
OriginatorPublicKeyInfo |
DUMMYUNIONNAME
DUMMYUNIONNAME.OriginatorCertId
Eine CERT_ID-Struktur , die den öffentlichen Schlüssel des Nachrichtenentstellers identifiziert.
DUMMYUNIONNAME.OriginatorPublicKeyInfo
Eine CERT_PUBLIC_KEY_INFO-Struktur , die den öffentlichen Schlüssel des Nachrichtenentstellers enthält.
cKeyAgreeKeyEncryptInfo
Ein -Wert, der die Anzahl der Empfänger im Parameter rgpKeyAgreeKeyEncryptInfo angibt.
rgpKeyAgreeKeyEncryptInfo
Ein Array von CMSG_KEY_AGREE_KEY_ENCRYPT_INFO Strukturen, die den verschlüsselten Schlüssel für jeden Empfänger enthalten.
dwFlags
Ein -Wert, der angibt, welche Member aktualisiert wurden und deren Speicherbelegung mithilfe der CryptMsgOpenToEncode-Funktion freigegeben werden muss.
Wert | Bedeutung |
---|---|
|
Das UserKeyingMaterial-Element wurde aktualisiert. |
|
Das pszObjId-Element der CRYPT_ALGORITHM_IDENTIFIER-Struktur , auf die vom KeyEncryptionAlgorithm-Member verwiesen wird, wurde aktualisiert. |
|
Der Parameter-Member der CRYPT_ALGORITHM_IDENTIFIER-Struktur , auf die vom KeyEncryptionAlgorithm-Element verwiesen wird, wurde aktualisiert. |
|
Das Algorithm.pszObjId-Element der CERT_PUBLIC_KEY_INFO-Struktur , auf die vom OriginatorPublicKeyInfo-Member verwiesen wird, wurde aktualisiert. |
|
Das PublicKey-Element der CERT_PUBLIC_KEY_INFO-Struktur , auf die vom OriginatorPublicKeyInfo-Member verwiesen wird, wurde aktualisiert. |
|
Der Algorithm.Parameters-Member der CERT_PUBLIC_KEY_INFO-Struktur , auf die vom OriginatorPublicKeyInfo-Member verwiesen wird, wurde aktualisiert. |
Hinweise
Wenn der dwMsgType-Parameter auf CMSG_ENVELOPED festgelegt ist, initialisiert die CryptMsgOpenToEncode-Funktion die CMSG_KEY_AGREE_ENCRYPT_INFO-Struktur aus der CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO-Struktur . Die Funktion CryptMsgOpenToEncode ruft die funktion PFN_CMSG_EXPORT_KEY_AGREE auf, um die CMSG_KEY_AGREE_ENCRYPT_INFO-Struktur zu aktualisieren. Wenn die Rückruffunktion nicht gefunden werden kann, füllt die CryptMsgOpenToEncode-Funktion diese Struktur mit Standardschlüsselinformationen aus der CMSG_CONTENT_ENCRYPT_INFO-Struktur aus.
Die folgenden Member der CMSG_KEY_AGREE_ENCRYPT_INFO-Struktur können von der Rückruffunktion aktualisiert werden:
- UserKeyingMaterial
- KeyEncryptionAlgorithm.pszObjId
- KeyEncryptionAlgorithm.Parameters
- dwOriginatorChoice
- OriginatorCertId
- OriginatorPublicKeyInfo
- dwFlags
Die anderen Member sind schreibgeschützt.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Kopfzeile | wincrypt.h |