Processamento de arquivo de mensagem de e-mail do SDK de arquivo

O MIP SDK suporta desencriptação e encriptação para mensagens de e-mail. Ambos os arquivos .msg, gerados pelo Outlook ou Exchange, e arquivos .rpmsg são suportados pelo SDK, embora através de métodos ligeiramente diferentes.

Os casos de uso comuns para este cenário são:

  • Descriptografe e-mails e anexos para inspeção de prevenção de perda de dados (DLP).
  • Publique mensagens protegidas diretamente de aplicativos de linha de negócios
  • Desencriptar, modificar e reproteger mensagens em trânsito.
  • Aplique etiquetas a e-mails de DLP ou serviços de gateway de email.

Declaração de suporte do arquivo MSG

MIP SDK suporta aplicação de proteção e remoção para arquivos MSG. Dada a variedade de tipos de codificação e variáveis no formato ao longo dos anos, não é possível garantir que o MIP SDK possa remover a proteção de todos os arquivos MSG. A seção a seguir descreve a capacidade de suporte para arquivos MSG de várias fontes.

  • A remoção da proteção de arquivos MSG que foram protegidos com o MIP SDK é totalmente suportada.
  • A remoção da proteção de arquivos MSG criados por versões atualmente suportadas do cliente Outlook é totalmente suportada.
  • A remoção da proteção de arquivos MSG criados por versões fora de suporte do cliente Outlook é suportada com base no melhor esforço.
  • A reproteção de arquivos MSG não está disponível com rótulos protegidos. Os usuários devem desproteger e remover o rótulo protegido explicitamente antes de proteger o arquivo novamente com outro rótulo.

Rotulagem de arquivos MSG

O MIP SDK suporta a leitura e gravação de etiquetas em arquivos MSG. Os anexos filhos não herdam o rótulo, mas herdam as configurações de proteção. Consulte Operações de rotulagem e proteção no SDK de arquivos para obter .msg arquivos para obter mais detalhes.

Operações de rotulagem e proteção no SDK de arquivos para arquivos .msg

O SDK de arquivos suporta operações de rotulagem e proteção para arquivos .msg de maneira idêntica a qualquer outro tipo de arquivo, exceto que o SDK precisa do aplicativo para habilitar o sinalizador de recurso MSG.

Como discutido anteriormente, a instanciação de requer um objeto de FileEngine configurações, FileEngineSettings. FileEngineSettings pode ser usado para passar parâmetros para configurações personalizadas para atender às necessidades específicas do aplicativo. Para habilitar o MIP SDK para processar arquivos MSG, a CustomSettings propriedade do FileEngineSettings objeto é usada para definir o sinalizador para enable_msg_file_type habilitar o processamento de arquivos .msg.

Se você criou um FileEngineSettings objeto chamado engineSettings, você definiria essa propriedade no .NET da seguinte maneira:

engineSettings.CustomSettings = new List<KeyValuePair<string, string>>();
engineSettings.CustomSettings.Add(new KeyValuePair<string, string>("enable_msg_file_type", "true"));

O pseudocódigo de operações de proteção de arquivo .msg pode se parecer com:

  • Defina enable_msg_file_type o sinalizador e mip::FileEngineSettings adicione o mip::FileEngine a mip::FileProfile.
  • Use o FileEngine para buscar a lista de rótulos para o usuário.
  • Construção mip::FileHandler que aponta para o arquivo a ser rotulado.
  • Selecione um rótulo e use o mip::FileHandlermétodo do SetLabel para aplicá-lo.

Consulte Guia de início rápido: listar rótulos para obter informações sobre como listar rótulos.

Alterando comportamentos padrão de manipulação de anexos

Por padrão, o SDK de arquivo tenta processar todos os anexos que fazem parte de um arquivo MSG ou um arquivo message.rpmsg ao usar as APIs de inspeção. Não desencripta recursivamente anexos que fazem parte de ficheiros MSG anexados ao MSG raiz. A modificação do comportamento de manipulação padrão não é suportada no momento.

Operações do SDK de arquivo para arquivos .rpmsg

MIP SDK expõe uma função de inspeção que pode descriptografar o arquivo message.rpmsg incorporado e apresentar um conjunto de fluxos de bytes como saída. Cabe ao consumidor do SDK extrair o arquivo message.rpmsg e passá-lo para a API de inspeção. Existem variações desse nome de arquivo para cenários de Criptografia de Mensagem do Office e a API também aceitará arquivos message_v2, v3 ou v4.

Importante

A API de inspeção não fornece uma saída que resultará em um arquivo utilizável, nem permite que você proteja novamente o arquivo de entrada. Ele gera fluxos de bytes que seu aplicativo pode processar ainda mais. A recriação de arquivos MSG a partir de arquivos message.rpmsg não é suportada pelo MIP SDK.

Geralmente, o gateway de email e os serviços de prevenção de perda de dados (DLP) lidam com mensagens compatíveis com MIME enquanto o e-mail está em trânsito. Quando o correio está protegido, o conteúdo encriptado da mensagem é armazenado num anexo, message.rpmsg. Este anexo contém o corpo do e-mail encriptado e todos os anexos que faziam parte da mensagem original. O arquivo rpmsg é então anexado a um e-mail wrapper de texto sem formatação e enviado para o serviço de email. Depois que essa mensagem sai do limite do Exchange ou do Exchange Online, ela está no formato compatível com MIME para que possa ser enviada ao seu destino.

Na maioria dos casos, o serviço DLP precisa obter os anexos e bytes de texto sem formatação da mensagem para inspecionar e avaliar em relação às políticas de DLP. A API de inspeção usa o message.rpmsg como entrada e retorna fluxos de bytes como saída. Esses fluxos de bytes contêm os bytes de texto simples da mensagem e os anexos. Cabe ao desenvolvedor do aplicativo lidar com esses fluxos e fazer algo útil com eles (inspecionar, descriptografar recursivamente, etc.).

A Inspect API é implementada por meio de uma classe, mip::FileInspector, que expõe operações para inspecionar tipos de arquivos suportados. mip::MsgInspector que estende mip::FileInspector, expõe operações de desencriptação específicas para o formato de ficheiro rpmsg. O MIP SDK não suporta nenhum cenário de publicação para arquivos message.rpmsg . Além disso, a FileHandler::RemoveProtection() API não suporta ficheiros message.rpmsg. Os ficheiros Message.rpmsg podem ser desencriptados apenas para inspeção e não produzirão um ficheiro válido e utilizável. Se seu aplicativo requer uma saída de arquivo, você deve passar um arquivo MSG e remover a proteção desse objeto.

mip::MsgInspector classe expõe os membros abaixo:

public const std::vector<uint8_t>& GetBody()
public BodyType GetBodyType() const
public BodyType GetBodyType() const
public InspectorType GetInspectorType() const
public std::shared_ptr<Stream> GetFileStream() const

Para obter mais informações, consulte Referência da API.

Passos Seguintes