Freigeben über


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
CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE
Erstellen Sie ein temporäres öffentliches/privates Schlüsselpaar , um den Inhaltsverschlüsselungsschlüssel zu verschlüsseln.
CMSG_KEY_AGREE_STATIC_KEY_CHOICE
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

Weitere Informationen

CERT_ID

CMSG_RC2_AUX_INFO

CMSG_RECIPIENT_ENCODE_INFO

CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO

CRYPT_ALGORITHM_IDENTIFIER

CRYPT_DATA_BLOB

CryptAcquireContext