Fil-SDK-e-postfilbearbetning

MIP SDK stöder dekryptering och kryptering för e-postmeddelanden. Både .msg filer som genereras av Outlook- eller Exchange-filer och .rpmsg-filer stöds av SDK:n, men med lite olika metoder.

Vanliga användningsfall för det här scenariot är:

  • Dekryptera e-post och bifogade filer för granskning av dataförlustskydd (DLP).
  • Publicera skyddade meddelanden direkt från verksamhetsspecifika program
  • Dekryptera, ändra och skydda meddelanden på nytt under överföring.
  • Använd etiketter för e-postmeddelanden från DLP- eller e-postgatewaytjänster.

MSG-filstödsats

MIP SDK stöder skyddsprogram och borttagning för MSG-filer. Med tanke på de olika kodningstyperna och variablerna i formatet genom åren går det inte att garantera att MIP SDK kan ta bort skyddet från alla MSG-filer. I följande avsnitt beskrivs support för MSG-filer från olika källor.

  • Det finns fullt stöd för att ta bort skydd från MSG-filer som har skyddats med MIP SDK.
  • Borttagning av skydd från MSG-filer som skapats av versioner av Outlook-klienten som stöds stöds fullt ut.
  • Att ta bort skydd från MSG-filer som skapats av out-of-support-versioner av Outlook-klienten stöds på bästa sätt.
  • Återaktivering av skydd av MSG-filer är inte tillgängligt med skyddade etiketter. Användarna måste ta bort skyddet och ta bort den skyddade etiketten explicit innan de skyddar filen igen med en annan etikett.

Etikettering av MSG-filer

MIP SDK stöder läsning och skrivning av etiketter på MSG-filer. Underordnade bifogade filer ärver inte etiketten, men ärver skyddsinställningarna. Mer information finns i Etikettering och skyddsåtgärder i Fil-SDK för .msg filer .

Etikettering och skyddsåtgärder i Fil-SDK för .msg filer

Fil-SDK stöder etikettering och skyddsåtgärder för .msg filer på ett sätt som är identiskt med alla andra filtyper, förutom att SDK:t behöver programmet för att aktivera MSG-funktionsflaggan.

Som tidigare nämnts kräver instansiering av ett inställningsobjekt FileEngine , FileEngineSettings. FileEngineSettings kan användas för att skicka in parametrar för anpassade inställningar för att uppfylla specifika programbehov. Om du vill aktivera MIP SDK för att bearbeta MSG-filer CustomSettings används egenskapen FileEngineSettings för objektet för att ange flaggan för att enable_msg_file_type aktivera bearbetning av .msg filer.

Om du har skapat ett FileEngineSettings objekt med namnet engine Inställningar anger du den här egenskapen i .NET på följande sätt:

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

Pseudokoden .msg filskyddsåtgärder kan se ut så här:

  • Ange enable_msg_file_type flaggan i mip::FileEngineSettings och lägg till mip::FileProfilei mip::FileEngine .
  • FileEngine Använd för att hämta listan med etiketter för användaren.
  • Konstruera mip::FileHandler som pekar på filen som ska märkas.
  • Välj en etikett och använd mip::FileHandlermetoden 's SetLabel för att tillämpa etiketten.

Se Snabbstart: Lista etiketter för information om hur du listar etiketter.

Ändra standardbeteenden för hantering av bifogade filer

Som standard försöker File SDK bearbeta alla bifogade filer som ingår i en MSG-fil eller en message.rpmsg-fil när du använder kontroll-API:erna. Det dekrypterar inte rekursivt bifogade filer som är en del av MSG-filer som är kopplade till rot-MSG. Ändring av standardhanteringsbeteendet stöds inte just nu.

Fil-SDK-åtgärder för .rpmsg-filer

MIP SDK exponerar en inspektionsfunktion som kan dekryptera filen embedded message.rpmsg och presentera en uppsättning byteströmmar som utdata. Det är upp till SDK-konsumenten att extrahera filen message.rpmsg och skicka den till kontroll-API:et. Varianter av det här filnamnet finns för Scenarier med Office-meddelandekryptering och API:et accepterar även message_v2-, v3- eller v4-filer.

Viktigt!

Kontroll-API :et tillhandahåller inte några utdata som resulterar i en användbar fil, och du kan inte heller skydda indatafilen igen. Den matar ut strömmar med byte som ditt program sedan kan bearbeta ytterligare. Att återskapa MSG-filer från message.rpmsg-filer stöds inte av MIP SDK.

Vanligtvis hanterar tjänster för e-postgateway och dataförlustskydd (DLP) MIME-kompatibla meddelanden medan e-post överförs. När e-post skyddas lagras det krypterade innehållet i meddelandet i en bifogad fil, message.rpmsg. Den här bifogade filen innehåller det krypterade e-postmeddelandets brödtext och eventuella bifogade filer som ingick i det ursprungliga meddelandet. Rpmsg-filen kopplas sedan till ett e-postmeddelande med klartextomslutning och skickas till e-posttjänsten. När meddelandet lämnar Exchange- eller Exchange Online-gränsen är det i MIME-kompatibelt format så att det kan skickas till målet.

I de flesta fall måste DLP-tjänsten hämta bifogade filer och oformaterade byte från meddelandet för att inspektera och utvärdera mot DLP-principer. Kontroll-API:et tar message.rpmsg som indata och returnerar byteströmmar som utdata. Dessa byteströmmar innehåller meddelandets oformaterade byte och bifogade filer. Det är upp till programutvecklaren att hantera dessa strömmar och att göra något användbart med dem (inspektera, rekursivt dekryptera osv.).

API:et Inspect implementeras via en klass, mip::FileInspector, som exponerar åtgärder för att inspektera filtyper som stöds. mip::MsgInspector som utökar mip::FileInspector, exponerar dekrypteringsåtgärder som är specifika för rpmsg-filformat. MIP SDK stöder inga publiceringsscenarier för message.rpmsg-filer . Dessutom stöder API:et FileHandler::RemoveProtection() inte message.rpmsg-filer. Message.rpmsg-filer kan endast dekrypteras för inspektion och kommer inte att mata ut en giltig, användbar fil. Om programmet kräver ett filutdata måste du skicka in en MSG-fil och ta bort skyddet från objektet.

mip::MsgInspector klassen exponerar nedanstående medlemmar:

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

Mer information finns i API-referens.

Nästa steg