Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |