PFN_CMSG_IMPORT_KEY_AGREE function pointer
The PFN_CMSG_IMPORT_KEY_AGREE callback function imports a content encryption key for a key transport recipient of an enveloped message. PFN_CMSG_IMPORT_KEY_AGREE can be installed by using a CryptoAPI object identifier (OID). This function is called by the CryptMsgControl function when its dwCtrlType parameter is set to CMSG_CTRL_DECRYPT.
Syntax
typedef BOOL ( WINAPI *PFN_CMSG_IMPORT_KEY_AGREE)( _In_ PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm, _In_ PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA pKeyAgreeDecryptPara, _In_ DWORD dwFlags, _Reserved_ void *pvReserved, _Out_ HCRYPTKEY *phContentEncryptKey );
Parameters
- pContentEncryptionAlgorithm [in]
-
A pointer to a CRYPT_ALGORITHM_IDENTIFIER structure that specifies the algorithm used to encrypt the message contents and any associated parameters.
- pKeyAgreeDecryptPara [in]
-
A pointer to a CMSG_CTRL_KEY_AGREE_DECRYPT_PARA structure that contains information about the key agreement recipient.
- dwFlags [in]
-
This value is not used. Set it to zero.
- pvReserved
-
This parameter is reserved and must be NULL.
- phContentEncryptKey [out]
-
The address of a handle to the content encryption key returned by this function.
Return value
If the function succeeds, the return value is nonzero (TRUE).
If the function fails, the return value is zero (FALSE). For extended error information, call GetLastError.
If this callback function does not support the key encryption algorithm, it must return FALSE and call SetLastError with E_NOTIMPL.
Remarks
You can use OID Support Functions to deploy this callback function. Wincrypt.h defines the following constants for this purpose.
| Constant | Definition |
|---|---|
| CMSG_OID_IMPORT_KEY_AGREE_FUNC or CMSG_OID_CAPI1_IMPORT_KEY_AGREE_FUNC | "CryptMsgDllImportKeyAgree" |
Requirements
|
Minimum supported client |
Windows XP [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2003 [desktop apps only] |
|
Header |
|