共用方式為


CMSG_KEY_TRANS_ENCRYPT_INFO 結構 (wincrypt.h)

CMSG_KEY_TRANS_ENCRYPT_INFO結構包含信封數據之密鑰傳輸收件者的加密資訊。 PFN_CMSG_EXPORT_KEY_TRANS函式會更新這個結構。

語法

typedef struct _CMSG_KEY_TRANS_ENCRYPT_INFO {
  DWORD                      cbSize;
  DWORD                      dwRecipientIndex;
  CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
  CRYPT_DATA_BLOB            EncryptedKey;
  DWORD                      dwFlags;
} CMSG_KEY_TRANS_ENCRYPT_INFO, *PCMSG_KEY_TRANS_ENCRYPT_INFO;

成員

cbSize

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

dwRecipientIndex

值,指定PFN_CMSG_EXPORT_KEY_TRANS函式之 pContentEncryptInfo 參數所指定收件者清單中的收件者序號。

KeyEncryptionAlgorithm

指定收件者公鑰演演算法 的CRYPT_ALGORITHM_IDENTIFIER 結構。 CryptMsgOpenToEncode 函式會使用 CRYPT_ALGORITHM_IDENTIFIER 結構的 pszObjId 成員來取得用來匯出密鑰的函式位址。 函式可以使用密碼編譯 API 來安裝:新一代 (CNG) 物件識別碼 (OID) 。

EncryptedKey

CRYPT_DATA_BLOB 結構,其中包含由收件者公鑰加密的會話密鑰。

dwFlags

值,指定已更新的成員,以及其記憶體配置必須使用 CryptMsgOpenToEncode 函式 釋放。

意義
CMSG_KEY_TRANS_ENCRYPT_FREE_OBJID_FLAG
0x00000002
已更新 KeyEncryptionAlgorithm 成員所參考之CRYPT_ALGORITHM_IDENTIFIER結構的 pszObjId 成員。
CMSG_KEY_TRANS_ENCRYPT_FREE_PARA_FLAG
0x00000001
已更新 KeyEncryptionAlgorithm 成員所參考之CRYPT_ALGORITHM_IDENTIFIER結構的 ParameterspbData 成員。

備註

使用 dwMsgType 參數設定為 CMSG_ENVELOPED 呼叫時,CryptMsgOpenToEncode 函式會從 CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO 結構初始化CMSG_KEY_TRANS_ENCRYPT_INFO結構。 CryptMsgOpenToEncode 函式會呼叫 PFN_CMSG_EXPORT_KEY_TRANS 函式來更新 CMSG_KEY_TRANS_ENCRYPT_INFO 結構。 如果找不到回呼函式, CryptMsgOpenToEncode 函式會以 來自 CMSG_CONTENT_ENCRYPT_INFO 結構的預設索引鍵資訊填入此結構。

回呼函式可以更新 CMSG_KEY_TRANS_ENCRYPT_INFO 結構的下列成員:

EncryptedKey
KeyEncryptionAlgorithm.pszObjId
KeyEncryptionAlgorithm.Parameters
dwFlags

其他成員是唯讀的。

規格需求

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

另請參閱

編碼信封數據