共用方式為


PFN_CMSG_EXPORT_KEY_TRANS回呼函式 (wincrypt.h)

PFN_CMSG_EXPORT_KEY_TRANS 回呼函式會加密並匯出信封郵件之金鑰傳輸收件者的內容加密金鑰。 您可以使用 CryptoAPI物件識別碼 (OID) 來安裝 PFN_CMSG_EXPORT_KEY_TRANS。 當 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 成員。 此函式必須使用 pfnAllocpfnFree pContentEncryptInfo 參數 所指向之 CMSG_CONTENT_ENCRYPT_INFO 結構的成員來管理加密密鑰的記憶體配置。

您可以使用 OID 支援函式 來部署此回呼函式。 Wincrypt.h 會為此目的定義下列常數。

您必須為 CAPI1 金鑰和密碼編譯 API 定義不同的回呼函式:新一代 (CNG) 金鑰。 這兩個函式都有相同的簽章,但使用不同的 OID。 呼叫哪個函式取決於 pContentEncryptInfo 參數所指向之 CMSG_CONTENT_ENCRYPT_INFO 結構 fCNG 成員的值。 下表顯示回呼函式與 fCNG 成員 值之間的關聯性。

fCNG 值 不斷 定義
CMSG_OID_EXPORT_KEY_TRANS_FUNC或CMSG_OID_CAPI1_EXPORT_KEY_TRANS_FUNC “CryptMsgDllExportKeyTrans”
CMSG_OID_CNG_EXPORT_KEY_TRANS_FUNC “CryptMsgDllCNGExportKeyTrans”

要求

要求 價值
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 wincrypt.h