Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.
Observação
A partir do MIP SDK 1.17, .eml arquivos são suportados. O manuseio é semelhante ao .msg para cenários de rotulagem/proteção e ao .rpmsg para cenários de inspeção, dependendo do formato do contêiner.
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_typeo sinalizador emip::FileEngineSettingsadicione omip::FileEngineamip::FileProfile. - Use o
FileEnginepara buscar a lista de rótulos para o usuário. - Construção
mip::FileHandlerque aponta para o arquivo a ser rotulado. - Selecione um rótulo e use o
mip::FileHandlermétodo doSetLabelpara 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. Apenas o item de nível raiz e o primeiro nível de anexos são desencriptados por predefinição.
Para modificar esse comportamento, a configuração personalizada container_decryption_option pode ser usada. Em C++, isso é exposto por meio de um enum, mip::ContainerDecryptionOption.
| Nome da opção | Descrição |
|---|---|
All |
Desencripta o ficheiro MSG e anexos. Se o anexo for um MSG, ele descriptografa recursivamente o MSG e seus anexos. Ele irá recursar um máximo de dez níveis antes de lançar mip::BadInputError("Max depth reached on nested msg attachments") |
Default |
O mesmo que Msg. |
Msg |
Desencripta o MSG e anexos de primeiro nível. Não desencripta recursivamente ficheiros MSG anexados. |
Top |
Desencriptar apenas o ficheiro MSG e não desencriptar anexos. |
O exemplo a seguir mostra como definir um aplicativo no .NET para descriptografar somente o arquivo MSG raiz.
engineSettings.CustomSettings.Add(new KeyValuePair<string, string>("container_decryption_option", "Top"));
E em C++:
vector<pair<string, string>> customSettings;
customSettings.emplace_back(mip::GetCustomSettingContainerDecryptionOption(),
mip::ContainerDecryptionOptionString(mip::ContainerDecryptionOption::Top));
engineSettings.SetCustomSettings(customSettings);
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 Purview e a API também aceitará arquivos message_v2, v3 ou v4.
Important
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.
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 o SDK da Proteção de Informações da Microsoft (MIP) para C++: Referência.