PFN_CMSG_EXPORT_KEY_TRANS回呼函式 (wincrypt.h)
PFN_CMSG_EXPORT_KEY_TRANS回呼函式會加密並匯出信封郵件之金鑰傳輸收件者的內容加密金鑰。 PFN_CMSG_EXPORT_KEY_TRANS 可以使用 OID) (CryptoAPI物件識別碼 來安裝。 當其 dwMsgType 參數設定為 CMSG_ENVELOPED時,CryptMsgOpenToEncode 函式會呼叫此函式。
語法
PFN_CMSG_EXPORT_KEY_TRANS PfnCmsgExportKeyTrans;
BOOL PfnCmsgExportKeyTrans(
[in] PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo,
[in] PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO pKeyTransEncodeInfo,
[in, out] PCMSG_KEY_TRANS_ENCRYPT_INFO pKeyTransEncryptInfo,
[in] DWORD dwFlags,
void *pvReserved
)
{...}
參數
[in] pContentEncryptInfo
包含內容加密金鑰 之CMSG_CONTENT_ENCRYPT_INFO 結構的指標。
[in] pKeyTransEncodeInfo
CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO 結構的指標,指定用來加密內容加密密鑰的收件者公鑰。
[in, out] pKeyTransEncryptInfo
包含加密內容加密金鑰 之CMSG_KEY_TRANS_ENCRYPT_INFO 結構的指標。
[in] dwFlags
不使用這個值。 將它設定為零。
pvReserved
這個值是保留的。 將它設定為 NULL。
傳回值
如果函式成功,則傳回值為非零 (TRUE) 。
如果函式失敗,則傳回值為零, (FALSE) 。 如需擴充錯誤資訊,請呼叫 GetLastError。
備註
PFN_CMSG_EXPORT_KEY_TRANS函式必須更新 pKeyTransEncryptInfo 參數所指向之CMSG_KEY_TRANS_ENCRYPT_INFO結構的 EncryptedKey 成員。 此函式必須使用 pContentEncryptInfo 參數所指向之CMSG_CONTENT_ENCRYPT_INFO結構的 pfnAlloc 和 pfnFree 成員,來管理加密密鑰的記憶體配置。
您可以使用 OID 支援函式 來部署此回呼函式。 Wincrypt.h 會為此目的定義下列常數。
您必須為 CAPI1 金鑰和密碼編譯 API 定義不同的回呼函式:新一代 (CNG) 金鑰。 這兩個函式都有相同的簽章,但使用不同的 OID。 呼叫哪一個函式取決於 pContentEncryptInfo 參數所指向之CMSG_CONTENT_ENCRYPT_INFO結構的 fCNG 成員值。 下表顯示回呼函式與 fCNG 成員值之間的關聯性。
fCNG 值 | 常數 | 定義 |
---|---|---|
false | CMSG_OID_EXPORT_KEY_TRANS_FUNC或CMSG_OID_CAPI1_EXPORT_KEY_TRANS_FUNC | “CryptMsgDllExportKeyTrans” |
TRUE | CMSG_OID_CNG_EXPORT_KEY_TRANS_FUNC | “CryptMsgDllCNGExportKeyTrans” |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wincrypt.h |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應