Compartilhar via


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

A função de retorno de chamada PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY importa uma CEK (chave de criptografia de conteúdo) já descriptografada. A função PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY pode ser instalada usando uma OID (API de Criptografia: identificador de objeto CNG) de próxima geração.

Sintaxe

PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY PfnCmsgCngImportContentEncryptKey;

BOOL PfnCmsgCngImportContentEncryptKey(
  [in, out] PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo,
  [in]      DWORD dwFlags,
            void *pvReserved
)
{...}

Parâmetros

[in, out] pCNGContentDecryptInfo

Um ponteiro para uma estrutura de CMSG_CNG_CONTENT_DECRYPT_INFO a ser atualizada com o CEK importado. Essa estrutura contém todas as informações relevantes passadas para a função CryptMsgControl .

[in] dwFlags

Esse parâmetro é reservado. Defina-o como zero.

pvReserved

Esse parâmetro é reservado. Defina-o como NULL.

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 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_DECRYPT
CMSG_CTRL_KEY_TRANS_DECRYPT
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_CONTENT_ENCRYPT_KEY_FUNC "CryptMsgDllCNGImportContentEncryptKey"
 

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

Requisito Valor
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

Confira também

Decodificação de dados enveloped