CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO結構 (wincrypt.h)

CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO結構包含使用金鑰合約金鑰管理之郵件收件者的相關資訊。這個結構會與CMSG_RECIPIENT_ENCODE_INFO結構搭配使用。

語法

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;

成員

cbSize

這個 結構的大小,以位元組為單位。

KeyEncryptionAlgorithm

CRYPT_ALGORITHM_IDENTIFIER結構,指定用於加密的演算法。

對於 ECC 收件者,CRYPT_ALGORITHM_IDENTIFIER結構的pszObjId成員應該設定為 szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF,並將這個CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO結構的dwKeyChoice成員設定為 CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE。

pvKeyEncryptionAuxInfo

目前未使用此成員。 它必須設定為 Null

KeyWrapAlgorithm

CRYPT_ALGORITHM_IDENTIFIER結構,指定用於金鑰包裝的演算法。

pvKeyWrapAuxInfo

指定索引鍵換行位長度 之CMSG_RC2_AUX_INFO 結構的指標。 只有當 KeyWrapAlgorithm 成員指定 RC2 演算法時,才會使用此成員。 如果 KeyWrapAlgorithm 指定 RC2 演算法以外的演算法,則不會使用這個成員,而且必須是 Null

hCryptProv

未使用這個成員,而且應該設定為 Null

Windows Server 2003 和 Windows XP:使用CryptAcquireCoNtext函式取得的密碼編譯服務提供者控制碼 (CSP) 。 這個成員是選擇性的,而且可以是 Null。此成員的資料類型為 HCRYPTPROV

dwKeySpec

目前未使用此成員。

dwKeyChoice

指出金鑰合約的類型。 這個成員可以是下列其中一個值。

意義
CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE
建立暫時 的公開/私密金鑰組 來加密內容加密金鑰。
CMSG_KEY_AGREE_STATIC_KEY_CHOICE
目前不使用此值。

DUMMYUNIONNAME

DUMMYUNIONNAME.pEphemeralAlgorithm

包含暫時公開金鑰演算法和參數 之CRYPT_ALGORITHM_IDENTIFIER 結構的指標。 當 dwKeyChoice成員包含CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE時,會使用此成員。

DUMMYUNIONNAME.pSenderId

CERT_ID結構的指標。 當 dwKeyChoice成員包含CMSG_KEY_AGREE_STATIC_KEY_CHOICE時,會使用此成員。 目前未使用此成員。

UserKeyingMaterial

CRYPT_DATA_BLOB結構,其中包含傳送者所提供的使用者金鑰資料 (UKM) ,以確保每次相同的兩方產生配對金鑰時,都會產生不同的金鑰。 這個成員是選擇性的,如果未使用,則所有成員都應該設定為零。

cRecipientEncryptedKeys

rgpRecipientEncryptedKeys陣列中的專案數目。

rgpRecipientEncryptedKeys

CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO結構的陣列,每個收件者都會收到此金鑰合約金鑰。 cRecipientEncryptedKeys成員包含這個 結構中的元素數目。

規格需求

   
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
標頭 wincrypt.h

另請參閱

CERT_ID

CMSG_RC2_AUX_INFO

CMSG_RECIPIENT_ENCODE_INFO

CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO

CRYPT_ALGORITHM_IDENTIFIER

CRYPT_DATA_BLOB

CryptAcquireCoNtext