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

A função de retorno de chamada PFN_CMSG_IMPORT_KEY_TRANS 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_TRANS pode ser instalado usando um 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_TRANS PfnCmsgImportKeyTrans;

BOOL PfnCmsgImportKeyTrans(
  [in]  PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm,
  [in]  PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA pKeyTransDecryptPara,
  [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] pKeyTransDecryptPara

Um ponteiro para uma estrutura CMSG_CTRL_KEY_TRANS_DECRYPT_PARA que contém informações sobre o destinatário do transporte 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_TRANS_FUNC ou CMSG_OID_CAPI1_IMPORT_KEY_TRANS_FUNC "CryptMsgDllImportKeyTrans"

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