CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO Struktur (wincrypt.h)
Die CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO-Struktur enthält Informationen zu einem Nachrichtenempfänger, der die Schlüsselvereinbarungsschlüsselverwaltung verwendet. Diese Struktur wird mit der CMSG_RECIPIENT_ENCODE_INFO-Struktur verwendet.
Syntax
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;
Member
cbSize
Die Größe (in Bytes) dieser Struktur.
KeyEncryptionAlgorithm
Eine CRYPT_ALGORITHM_IDENTIFIER-Struktur , die den für die Verschlüsselung verwendeten Algorithmus angibt.
Für ECC-Empfänger sollte das pszObjId-Element der CRYPT_ALGORITHM_IDENTIFIER-Struktur auf szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF festgelegt werden, wobei das dwKeyChoice-Element dieser CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO-Struktur auf CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE festgelegt ist.
pvKeyEncryptionAuxInfo
Dieser Member wird derzeit nicht verwendet. Er muss auf NULL festgelegt werden.
KeyWrapAlgorithm
Eine CRYPT_ALGORITHM_IDENTIFIER-Struktur , die den Algorithmus angibt, der für die Schlüsselumbrucherstellung verwendet wird.
pvKeyWrapAuxInfo
Ein Zeiger auf eine CMSG_RC2_AUX_INFO-Struktur , die die Schlüsselumbruchbitlänge angibt. Dieses Element wird nur verwendet, wenn das KeyWrapAlgorithm-Element einen RC2-Algorithmus angibt. Wenn KeyWrapAlgorithm einen anderen Algorithmus als einen RC2-Algorithmus angibt, wird dieser Member nicht verwendet und muss NULL sein.
hCryptProv
Dieser Member wird nicht verwendet und sollte auf NULL festgelegt werden.
Windows Server 2003 und Windows XP: Ein Handle für einen Kryptografiedienstanbieter (CSP), der mithilfe der CryptAcquireContext-Funktion abgerufen wird. Dieser Member ist optional und kann NULL sein. Der Datentyp dieses Members ist HCRYPTPROV.
dwKeySpec
Dieser Member wird derzeit nicht verwendet.
dwKeyChoice
Gibt den Typ der Schlüsselvereinbarung an. Dieser Member kann einer der folgenden Werte sein.
Wert | Bedeutung |
---|---|
|
Erstellen Sie ein temporäres öffentliches/privates Schlüsselpaar , um den Inhaltsverschlüsselungsschlüssel zu verschlüsseln. |
|
Dieser Wert wird derzeit nicht verwendet. |
DUMMYUNIONNAME
DUMMYUNIONNAME.pEphemeralAlgorithm
Ein Zeiger auf eine CRYPT_ALGORITHM_IDENTIFIER-Struktur , die den kurzlebigen Algorithmus und Parameter für den öffentlichen Schlüssel enthält. Dieses Element wird verwendet, wenn das dwKeyChoice-ElementCMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE enthält.
DUMMYUNIONNAME.pSenderId
Ein Zeiger auf eine CERT_ID Struktur. Dieses Element wird verwendet, wenn das dwKeyChoice-ElementCMSG_KEY_AGREE_STATIC_KEY_CHOICE enthält. Dieser Member wird derzeit nicht verwendet.
UserKeyingMaterial
Eine CRYPT_DATA_BLOB-Struktur , die vom Absender bereitgestelltes Benutzerschlüsselmaterial (User Keying Material, UKM) enthält, um sicherzustellen, dass jedes Mal ein anderer Schlüssel generiert wird, wenn dieselben beiden Parteien einen paarweisen Schlüssel generieren. Dieser Member ist optional, und alle Member sollten auf Null festgelegt werden, wenn sie nicht verwendet werden.
cRecipientEncryptedKeys
Die Anzahl der Elemente im rgpRecipientEncryptedKeys-Array .
rgpRecipientEncryptedKeys
Ein Array von CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO Strukturen, eines für jeden Empfänger, der diesen Schlüsselvereinbarungsschlüssel erhält. Das cRecipientEncryptedKeys-Element enthält die Anzahl der Elemente in dieser Struktur.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Kopfzeile | wincrypt.h |