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 函式 釋放。
值 | 意義 |
---|---|
|
已更新 KeyEncryptionAlgorithm 成員所參考之CRYPT_ALGORITHM_IDENTIFIER結構的 pszObjId 成員。 |
|
已更新 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 |