Verarbeitung von E-Mail-Nachrichten-Dateien mit dem File-SDK

Das MIP SDK unterstützt die Entschlüsselung und Verschlüsselung von E-Mail-Nachrichten. Sowohl .msg-Dateien, die von Outlook oder Exchange erzeugt werden, als auch .rpmsg-Dateien werden vom SDK unterstützt, wenn auch mit leicht unterschiedlichen Methoden.

Häufige Anwendungsfälle für dieses Szenario sind:

  • Entschlüsseln Sie E-Mails und Anhänge für die Inspektion zur Verhinderung von Datenverlusten (Data Loss Prevention, DLP).
  • Veröffentlichen von geschützten Nachrichten direkt aus branchenspezifischen Apps
  • Entschlüsselung, Änderung und erneuter Schutz von Nachrichten während der Übertragung.
  • Anwenden von Bezeichnungen auf E-Mails von DLP- oder Mail-Gateway-Diensten.

MSG File-Supporthinweis

MIP SDK unterstützt die Anwendung und Entfernung des Schutzes für .msg-Dateien. Angesichts der Vielzahl von Codierungstypen und Variablen im Format im Laufe der Jahre ist es nicht möglich, zu garantieren, dass MIP SDK den Schutz von allen .msg-Dateien entfernen kann. Im folgenden Abschnitt wird die Unterstützung von .msg-Dateien aus verschiedenen Quellen beschrieben.

  • Das Entfernen des Schutzes von .msg-Dateien, die mit MIP SDK geschützt wurden, wird vollständig unterstützt.
  • Das Entfernen des Schutzes von .msg-Dateien, die von den aktuell unterstützten Versionen des Outlook-Clients erstellt wurden, wird vollständig unterstützt.
  • Das Entfernen des Schutzes von .msg-Dateien, die von nicht mehr unterstützten Versionen des Outlook-Clients erstellt wurden, wird so gut es geht unterstützt.
  • Der Erneute Schutz von MSG-Dateien ist nicht mit geschützten Bezeichnungen verfügbar. Benutzer müssen den Schutz aufheben und die geschützte Bezeichnung explizit entfernen, bevor Sie die Datei erneut mit einer anderen Bezeichnung schützen.

Bezeichnung von .msg-Dateien

MIP SDK unterstützt das Lesen und Schreiben von Bezeichnungen für .msg-Dateien. Untergeordnete Anhänge erben die Bezeichnung nicht, wohl aber die Schutzeinstellungen. Weitere Einzelheiten finden Sie unter Beschriftungs- und Schutzvorgänge im File SDK für .msg-Dateien.

Beschriftungs- und Schutzvorgänge im File SDK für .msg-Dateien

Das File SDK unterstützt Bezeichnungsvorgänge für .msg-Dateien in ähnlicher Weise wie bei jedem anderen Dateityp, mit der Ausnahme, dass das SDK die Anwendung benötigt, um das MSG-Featureflag zu aktivieren.

Wie bereits erwähnt, ist für die Instanziierung von FileEngine ein Einstellungsobjekt erforderlich: FileEngineSettings. FileEngineSettings kann zur Übergabe von Parametern für benutzerdefinierte Einstellungen verwendet werden, um spezifische Anwendungsanforderungen zu erfüllen. Um MIP SDK die Verarbeitung von .msg-Dateien zu ermöglichen, wird die CustomSettings-Eigenschaft des FileEngineSettings-Objekts verwendet, um das Flag für enable_msg_file_type für die Verarbeitung von .msg-Dateien zu setzen.

Wenn Sie ein FileEngineSettings-Objekt namens engineSettings erstellt haben, legen Sie diese Eigenschaft in .NET wie folgt fest:

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

Der Pseudocode für den Schutz von .msg-Dateien kann wie folgt aussehen:

  • Setzen Sie das enable_msg_file_type-Flag in mip::FileEngineSettings und fügen Sie das mip::FileEngine zu mip::FileProfile hinzu.
  • Verwenden Sie die FileEngine, um die Liste der Bezeichnungen für den Benutzer abzurufen.
  • Erstellen Sie den mip::FileHandler, der auf die zu bezeichnende Datei zeigt.
  • Wählen Sie eine Bezeichnung aus und verwenden Sie die SetLabel-Methode des mip::FileHandlers, um die Bezeichnung anzuwenden.

Lesen Sie den Abschnitt Schnellstart: Bezeichnungen auflisten, um zu erfahren, wie man Bezeichnungen auflistet.

Ändern von Standardverhalten der Anlagenbehandlung

Standardmäßig versucht das File SDK, alle Anlagen zu verarbeiten, die Teil einer MSG-Datei sind, oder eine message.rpmsg-Datei bei Verwendung der Inspektions-APIs. Anlagen, die Teil der MSG-Stammdateien sind, werden nicht rekursiv entschlüsselt. Die Änderung des Standardbehandlungsverhaltens wird zurzeit nicht unterstützt.

File SDK-Vorgänge für .rpmsg-Dateien

MIP SDK stellt eine Inspektionsfunktion bereit, die die eingebettete Datei message.rpmsg entschlüsseln und eine Reihe von Byteströmen als Ausgabe präsentieren kann. Es ist Aufgabe des SDK-Kunden, die Datei message.rpmsg zu extrahieren und an die Inspektions-API zu übergeben. Für Office Message Encryption-Szenarien gibt es Variationen dieses Dateinamens, und die API akzeptiert auch message_v2, _v3 oder _v4-Dateien.

Wichtig

Die Inspektions-API bietet keine Ausgabe, die zu einer brauchbaren Datei führt, und sie erlaubt auch nicht, die Eingabedatei erneut zu schützen. Sie gibt Byteströme aus, die Ihre Anwendung dann weiterverarbeiten kann. Das Wiederherstellen von .msg-Dateien aus message.rpmsg-Dateien wird vom MIP SDK nicht unterstützt.

In der Regel werden MIME-konforme Nachrichten während der Übertragung von E-Mails von Mail-Gateways und Diensten zur Verhinderung von Datenverlusten (Data Loss Prevention, DLP) verarbeitet. Wenn eine E-Mail geschützt ist, wird der verschlüsselte Inhalt der Nachricht in einem Anhang, message.rpmsg, gespeichert. Dieser Anhang enthält den verschlüsselten E-Mail-Text und alle Anhänge, die Teil der ursprünglichen Nachricht waren. Die .rpmsg-Datei wird dann an eine Nur-Text-Wrapper-E-Mail angehängt und an den E-Mail-Dienst gesendet. Sobald die Nachricht die Exchange- oder Exchange Online-Grenze passiert, liegt sie im MIME-kompatiblen Format vor, sodass sie an ihr Ziel gesendet werden kann.

In den meisten Fällen muss der DLP-Dienst die Anhänge und Nur-Text-Bytes der Nachricht abrufen, um sie zu prüfen und anhand der DLP-Richtlinien zu bewerten. Die Inspektions-API nimmt die Datei message.rpmsg als Eingabe und gibt Byte-Streams als Ausgabe zurück. Diese Byteströme enthalten die Nur-Text-Bytes der Nachricht und der Anhänge. Es ist Aufgabe des Anwendungsentwicklers, mit diesen Datenströmen umzugehen und etwas Nützliches mit ihnen anzustellen (prüfen, rekursiv entschlüsseln usw.).

Die Inspect-API wird durch eine Klasse, mip::FileInspector, implementiert, die Vorgänge zur Überprüfung der unterstützten Dateitypen bereitstellt. mip::MsgInspector, das mip::FileInspector erweitert, bietet Entschlüsselungsvorgänge speziell für das rpmsg-Dateiformat. Das MIP SDK unterstützt keine Veröffentlichungsszenarien für message.rpmsg -Dateien. Außerdem unterstützt auch die FileHandler::RemoveProtection()-API keine message.rpmsg-Dateien. Message.rpmsg-Dateien können nur zu Prüfzwecken entschlüsselt werden und geben keine gültige, brauchbare Datei aus. Wenn Ihre Anwendung eine Dateiausgabe erfordert, müssen Sie eine .msg-Datei übergeben und den Schutz für dieses Objekt aufheben.

Die mip::MsgInspector-Klasse weist folgende Member auf:

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

Weitere Informationen finden Sie in der API-Referenz.

Nächste Schritte