PFN_CMSG_CNG_IMPORT_KEY_AGREE função de retorno de chamada (wincrypt.h)
A função de retorno de chamada PFN_CMSG_CNG_IMPORT_KEY_AGREE descriptografa uma CEK (chave de criptografia de conteúdo) destinada a um destinatário de contrato de chave. PFN_CMSG_CNG_IMPORT_KEY_AGREE pode ser instalado usando uma OID (API de Criptografia: identificador de objeto de próxima geração) (CNG).
Sintaxe
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
)
{...}
Parâmetros
[in, out] pCNGContentDecryptInfo
Um ponteiro para uma estrutura CMSG_CNG_CONTENT_DECRYPT_INFO a ser atualizada com os bytes CEK descriptografados. Esse parâmetro contém a chave usada para descriptografar a CEK. O parâmetro pKeyTransDecryptPara a seguir contém os bytes CEK a serem descriptografados.
[in] pKeyAgreeDecryptPara
Um ponteiro para uma estrutura CMSG_CTRL_KEY_AGREE_DECRYPT_PARA que contém as informações do contrato de chave passadas para a função CryptMsgControl no caso CMSG_CTRL_KEY_AGREE_DECRYPT .
O membro EncryptedKey do membro pKeyAgree contém os bytes CEK a serem descriptografados. Como uma estrutura CMSG_CTRL_KEY_AGREE_DECRYPT_PARA pode conter uma opção HCRYPTPROV , seu membro hNCryptKey não deve ser usado para descriptografar EncryptedKey. Em vez disso, você deve usar o membro hNCryptKey especificado no parâmetro pCNGContentDecryptInfo .
Essa função não deve atualizar membros da estrutura CMSG_CTRL_KEY_AGREE_DECRYPT_PARA .
[in] dwFlags
Esse parâmetro é reservado. Defina-o como zero.
pvReserved
Esse parâmetro é reservado. Defina-o como NULL.
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero (TRUE).
Se a função falhar, o valor retornado será zero (FALSE). Para obter informações de erro estendidas, chame GetLastError.
Se essa função de retorno de chamada não der suporte ao algoritmo de criptografia de chave, ela deverá retornar FALSE e chamar SetLastError com ERROR_NOT_SUPPORTED.
Comentários
A função CryptMsgControl chama essa função para as seguintes operações especificadas pelo parâmetro dwCtrlType :
CMSG_CTRL_KEY_AGREE_DECRYPT Você pode usar as funções de suporte do OID para implantar essa função de retorno de chamada. Wincrypt.h define a seguinte constante para essa finalidade.
Constante | Definição |
---|---|
CMSG_OID_CNG_IMPORT_KEY_AGREE_FUNC | "CryptMsgDllCNGImportKeyAgree" |
Exemplos
Para obter um exemplo que implanta uma função de retorno de chamada instalável por OID, consulte Estendendo a funcionalidade de CryptoAPI.
Requisitos
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | wincrypt.h |