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

另請參閱

解碼信封資料