Compartilhar via


estrutura CMSG_KEY_TRANS_ENCRYPT_INFO (wincrypt.h)

A estrutura CMSG_KEY_TRANS_ENCRYPT_INFO contém informações de criptografia para um destinatário de transporte chave de dados enveloped. A função PFN_CMSG_EXPORT_KEY_TRANS atualiza essa estrutura.

Sintaxe

typedef struct _CMSG_KEY_TRANS_ENCRYPT_INFO {
  DWORD                      cbSize;
  DWORD                      dwRecipientIndex;
  CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
  CRYPT_DATA_BLOB            EncryptedKey;
  DWORD                      dwFlags;
} CMSG_KEY_TRANS_ENCRYPT_INFO, *PCMSG_KEY_TRANS_ENCRYPT_INFO;

Membros

cbSize

O tamanho, em bytes, dessa estrutura.

dwRecipientIndex

Um valor que especifica o número ordinal de um destinatário na lista de destinatários especificada pelo parâmetro pContentEncryptInfo da função PFN_CMSG_EXPORT_KEY_TRANS .

KeyEncryptionAlgorithm

Uma estrutura CRYPT_ALGORITHM_IDENTIFIER que especifica o algoritmo da chave pública do destinatário. A função CryptMsgOpenToEncode usa o membro pszObjId da estrutura CRYPT_ALGORITHM_IDENTIFIER para obter o endereço da função usada para exportar a chave. A função pode ser instalada usando uma OID ( identificador de objeto ) de API de Criptografia: OID (Próxima Geração).

EncryptedKey

Uma estrutura CRYPT_DATA_BLOB que contém a chave de sessão criptografada pela chave pública do destinatário.

dwFlags

Um valor que especifica quais membros foram atualizados e cuja alocação de memória deve ser liberada usando a função CryptMsgOpenToEncode .

Valor Significado
CMSG_KEY_TRANS_ENCRYPT_FREE_OBJID_FLAG
0x00000002
O membro pszObjId da estrutura CRYPT_ALGORITHM_IDENTIFIER referenciada pelo membro KeyEncryptionAlgorithm foi atualizado.
CMSG_KEY_TRANS_ENCRYPT_FREE_PARA_FLAG
0x00000001
O membro ParameterspbData da estrutura CRYPT_ALGORITHM_IDENTIFIER referenciada pelo membro KeyEncryptionAlgorithm foi atualizado.

Comentários

Quando chamada com o parâmetro dwMsgType definido como CMSG_ENVELOPED, a função CryptMsgOpenToEncode inicializa a estrutura CMSG_KEY_TRANS_ENCRYPT_INFO da estrutura CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO . A função CryptMsgOpenToEncode chama a função PFN_CMSG_EXPORT_KEY_TRANS para atualizar a estrutura CMSG_KEY_TRANS_ENCRYPT_INFO . Se a função de retorno de chamada não puder ser encontrada, a função CryptMsgOpenToEncode preencherá essa estrutura com informações de chave padrão da estrutura CMSG_CONTENT_ENCRYPT_INFO .

Os seguintes membros da estrutura CMSG_KEY_TRANS_ENCRYPT_INFO podem ser atualizados pela função de retorno de chamada:

Encryptedkey
KeyEncryptionAlgorithm.pszObjId
KeyEncryptionAlgorithm.Parameters
dwFlags

Os outros membros são somente leitura.

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]
Cabeçalho wincrypt.h

Confira também

Codificando dados enveloped