Compartilhar via


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

A função de retorno de chamada PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY gera a chave simétrica usada para criptografar o conteúdo de uma mensagem enveloped. Essa função é chamada pela função CryptMsgOpenToEncode quando inicializa a estrutura CMSG_CONTENT_ENCRYPT_INFO .

Sintaxe

PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY PfnCmsgGenContentEncryptKey;

BOOL PfnCmsgGenContentEncryptKey(
  [in, out] PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo,
  [in]      DWORD dwFlags,
            void *pvReserved
)
{...}

Parâmetros

[in, out] pContentEncryptInfo

Um ponteiro para uma estrutura CMSG_CONTENT_ENCRYPT_INFO que contém a chave.

[in] dwFlags

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

pvReserved

Esse parâmetro é reservado e deve ser 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.

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.

Você deve definir diferentes funções de retorno de chamada para chaves CAPI1 e API de Criptografia: chaves CNG (próxima geração). Ambas as funções têm a mesma assinatura, mas usam identificadores de objeto (OIDs) diferentes. Qual função é chamada depende do valor do membro fCNG da estrutura CMSG_CONTENT_ENCRYPT_INFO apontada pelo parâmetro pContentEncryptInfo . A tabela a seguir mostra a relação entre a função de retorno de chamada e o valor do membro fCNG .

Valor fCNG Constante Definição
FALSE CMSG_OID_GEN_CONTENT_ENCRYPT_KEY_FUNC ou CMSG_OID_CAPI1_GEN_CONTENT_ENCRYPT_KEY_FUNC "CryptMsgDllGenContentEncryptKey"
TRUE CMSG_OID_CNG_GEN_CONTENT_ENCRYPT_KEY_FUNC "CryptMsgDllCNGGenContentEncryptKey"

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