PFN_CMSG_EXPORT_KEY_TRANS função de retorno de chamada (wincrypt.h)
A função de retorno de chamada PFN_CMSG_EXPORT_KEY_TRANS criptografa e exporta a chave de criptografia de conteúdo para um destinatário de transporte de chave de uma mensagem enveloped. PFN_CMSG_EXPORT_KEY_TRANS pode ser instalado usando um OID (identificador de objetoCryptoAPI). Essa função é chamada pela função CryptMsgOpenToEncode quando seu parâmetro dwMsgType é definido como CMSG_ENVELOPED.
Sintaxe
PFN_CMSG_EXPORT_KEY_TRANS PfnCmsgExportKeyTrans;
BOOL PfnCmsgExportKeyTrans(
[in] PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo,
[in] PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO pKeyTransEncodeInfo,
[in, out] PCMSG_KEY_TRANS_ENCRYPT_INFO pKeyTransEncryptInfo,
[in] DWORD dwFlags,
void *pvReserved
)
{...}
Parâmetros
[in] pContentEncryptInfo
Um ponteiro para uma estrutura CMSG_CONTENT_ENCRYPT_INFO que contém a chave de criptografia de conteúdo.
[in] pKeyTransEncodeInfo
Um ponteiro para uma estrutura de CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO que especifica a chave pública do destinatário usada para criptografar a chave de criptografia de conteúdo.
[in, out] pKeyTransEncryptInfo
Um ponteiro para uma estrutura CMSG_KEY_TRANS_ENCRYPT_INFO que contém a chave de criptografia de conteúdo criptografada.
[in] dwFlags
Este valor não é usado. Defina-o como zero.
pvReserved
Esse valor é 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.
Comentários
A função PFN_CMSG_EXPORT_KEY_TRANS deve atualizar o membro EncryptedKey da estrutura CMSG_KEY_TRANS_ENCRYPT_INFO apontada pelo parâmetro pKeyTransEncryptInfo . Essa função deve usar os membros pfnAlloc e pfnFree da estrutura CMSG_CONTENT_ENCRYPT_INFO apontada pelo parâmetro pContentEncryptInfo para gerenciar a alocação de memória para a chave criptografada.
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 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_EXPORT_KEY_TRANS_FUNC ou CMSG_OID_CAPI1_EXPORT_KEY_TRANS_FUNC | "CryptMsgDllExportKeyTrans" |
TRUE | CMSG_OID_CNG_EXPORT_KEY_TRANS_FUNC | "CryptMsgDllCNGExportKeyTrans" |
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 |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de