Compartilhar via


PFN_CMSG_IMPORT_KEY_AGREE função de retorno de chamada (wincrypt.h)

A função de retorno de chamada PFN_CMSG_IMPORT_KEY_AGREE importa uma chave de criptografia de conteúdo para um destinatário de transporte de chave de uma mensagem em envelope. PFN_CMSG_IMPORT_KEY_AGREE pode ser instalado usando um OID (identificador de objetoCryptoAPI). Essa função é chamada pela função CryptMsgControl quando seu parâmetro dwCtrlType é definido como CMSG_CTRL_DECRYPT.

Sintaxe

PFN_CMSG_IMPORT_KEY_AGREE PfnCmsgImportKeyAgree;

BOOL PfnCmsgImportKeyAgree(
  [in]  PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm,
  [in]  PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA pKeyAgreeDecryptPara,
  [in]  DWORD dwFlags,
        void *pvReserved,
  [out] HCRYPTKEY *phContentEncryptKey
)
{...}

Parâmetros

[in] pContentEncryptionAlgorithm

Um ponteiro para uma estrutura CRYPT_ALGORITHM_IDENTIFIER que especifica o algoritmo usado para criptografar o conteúdo da mensagem e quaisquer parâmetros associados.

[in] pKeyAgreeDecryptPara

Um ponteiro para uma estrutura CMSG_CTRL_KEY_AGREE_DECRYPT_PARA que contém informações sobre o destinatário do contrato de chave.

[in] dwFlags

Este valor não é usado. Defina-o como zero.

pvReserved

Esse parâmetro é reservado e deve ser NULL.

[out] phContentEncryptKey

O endereço de um identificador para a chave de criptografia de conteúdo retornada por essa função.

Retornar valor

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 E_NOTIMPL.

Comentários

Você pode usar as funções de suporte do OID para implantar essa função de retorno de chamada. Wincrypt.h define as seguintes constantes para essa finalidade.

Constante Definição
CMSG_OID_IMPORT_KEY_AGREE_FUNC ou CMSG_OID_CAPI1_IMPORT_KEY_AGREE_FUNC "CryptMsgDllImportKeyAgree"

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wincrypt.h