PFN_CMSG_CNG_IMPORT_KEY_AGREE回呼函式 (wincrypt.h)
PFN_CMSG_CNG_IMPORT_KEY_AGREE回呼函式會將適用于金鑰合約收件者的內容加密金鑰解密 (CEK) 。 您可以使用 密碼編譯 API 來安裝PFN_CMSG_CNG_IMPORT_KEY_AGREE:新一代 (CNG) 物件識別碼 (OID) 。
語法
PFN_CMSG_CNG_IMPORT_KEY_AGREE PfnCmsgCngImportKeyAgree;
BOOL PfnCmsgCngImportKeyAgree(
[in, out] PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo,
[in] PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA pKeyAgreeDecryptPara,
[in] DWORD dwFlags,
void *pvReserved
)
{...}
參數
[in, out] pCNGContentDecryptInfo
要以解密 CEK 位元組更新之 CMSG_CNG_CONTENT_DECRYPT_INFO 結構的指標。 此參數包含用來解密 CEK 的金鑰。 下列 pKeyTransDecryptPara 參數包含要解密的 CEK 位元組。
[in] pKeyAgreeDecryptPara
CMSG_CTRL_KEY_AGREE_DECRYPT_PARA結構的指標,其中包含CMSG_CTRL_KEY_AGREE_DECRYPT案例中傳遞至CryptMsgControl函式的主要合約資訊。
pKeyAgree成員的EncryptedKey成員包含要解密的 CEK 位元組。 因為 CMSG_CTRL_KEY_AGREE_DECRYPT_PARA 結構可能包含 HCRYPTPROV 選擇,所以其 hNCryptKey 成員不得用來解密 EncryptedKey。 相反地,您必須使用pCNGContentDecryptInfo參數中指定的hNCryptKey成員。
此函式不得更新 CMSG_CTRL_KEY_AGREE_DECRYPT_PARA 結構的成員。
[in] dwFlags
此參數已保留備用。 將它設定為零。
pvReserved
此參數已保留備用。 將它設定為 Null。
傳回值
如果函式成功,則傳回值為非零 (TRUE) 。
如果函式失敗,則傳回值為零, (FALSE) 。 如需擴充錯誤資訊,請呼叫 GetLastError。
如果此回呼函式不支援金鑰加密演算法,則必須傳回 FALSE ,並使用 ERROR_NOT_SUPPORTED 呼叫 SetLastError 。
備註
CryptMsgControl函式會針對dwCtrlType參數所指定的下列作業呼叫此函式:
CMSG_CTRL_KEY_AGREE_DECRYPT 您可以使用 OID 支援函式 來部署此回呼函式。 Wincrypt.h 會為此目的定義下列常數。
常數 | 定義 |
---|---|
CMSG_OID_CNG_IMPORT_KEY_AGREE_FUNC | 「CryptMsgDllCNGImportKeyAgree」 |
範例
如需部署可安裝 OID 回呼函式的範例,請參閱 擴充 CryptoAPI 功能。
規格需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wincrypt.h |