Pemrosesan file pesan email SDK file

MIP SDK mendukung dekripsi dan enkripsi untuk pesan email. File .msg, yang dihasilkan oleh Outlook atau Exchange, dan file .rpmsg didukung oleh SDK meskipun melalui metode yang sedikit berbeda.

Kasus penggunaan umum untuk skenario ini adalah:

  • Dekripsi email dan lampiran untuk inspeksi pencegahan kehilangan data (DLP).
  • Menerbitkan pesan yang dilindungi langsung dari aplikasi lini bisnis
  • Dekripsi, ubah, dan lindungi kembali pesan saat transit.
  • Terapkan label ke email dari DLP atau layanan gateway email.

Pernyataan Dukungan File MSG

MIP SDK mendukung aplikasi perlindungan dan penghapusan untuk file MSG. Mengingat berbagai jenis dan variabel pengodean dalam format selama bertahun-tahun, tidak mungkin untuk menjamin bahwa MIP SDK dapat menghapus perlindungan dari semua file MSG. Bagian berikut menjelaskan dukungan untuk file MSG dari berbagai sumber.

  • Menghapus perlindungan dari file MSG yang dilindungi dengan MIP SDK didukung sepenuhnya.
  • Menghapus perlindungan dari file MSG yang dibuat oleh versi klien Outlook yang saat ini didukung didukung sepenuhnya.
  • Menghapus perlindungan dari file MSG yang dibuat oleh versi klien Outlook yang tidak didukung secara upaya terbaik.
  • Perlindungan ulang file MSG tidak tersedia dengan label yang dilindungi. Pengguna harus membuka proteksi dan menghapus label yang dilindungi secara eksplisit sebelum melindungi file lagi dengan label lain.

Pelabelan File MSG

MIP SDK mendukung label baca dan tulis pada file MSG. Lampiran anak tidak mewarisi label, tetapi mewarisi pengaturan perlindungan. Tinjau Operasi Pelabelan dan Perlindungan di File SDK untuk file .msg untuk detail selengkapnya.

Operasi Pelabelan dan Perlindungan di File SDK untuk file .msg

File SDK mendukung operasi pelabelan dan perlindungan untuk file .msg dengan cara yang identik dengan jenis file lainnya, kecuali bahwa SDK memerlukan aplikasi untuk mengaktifkan bendera fitur MSG.

Seperti yang dibahas sebelumnya, instansiasi FileEngine memerlukan objek pengaturan, FileEngineSettings. FileEngineSettings dapat digunakan untuk meneruskan parameter untuk pengaturan kustom guna memenuhi kebutuhan aplikasi tertentu. Untuk mengaktifkan MIP SDK untuk memproses file MSG, CustomSettings properti FileEngineSettings objek digunakan untuk mengatur bendera untuk enable_msg_file_type mengaktifkan pemrosesan file .msg.

Jika Anda telah membuat objek yang FileEngineSettings disebut mesin Pengaturan, Anda akan mengatur properti ini di .NET sebagai berikut:

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

Pseudocode operasi perlindungan file .msg mungkin terlihat seperti:

  • Atur enable_msg_file_type bendera di mip::FileEngineSettings dan tambahkan ke mip::FileEnginemip::FileProfile.
  • FileEngine Gunakan untuk mengambil daftar label untuk pengguna.
  • Buat mip::FileHandler yang menunjuk ke file yang akan diberi label.
  • Pilih label dan gunakan mip::FileHandlermetode 's SetLabel untuk menerapkan label.

Lihat Mulai Cepat: Daftar label untuk informasi tentang cara mencantumkan label.

Mengubah Perilaku Penanganan Lampiran Default

Secara default, File SDK mencoba memproses semua lampiran yang merupakan bagian dari file MSG, atau file message.rpmsg saat menggunakan API inspeksi. Ini tidak mendekripsi lampiran secara rekursif yang merupakan bagian dari file MSG yang dilampirkan ke MSG akar. Modifikasi perilaku penanganan default saat ini tidak didukung.

Operasi File SDK untuk file .rpmsg

MIP SDK mengekspos fungsi inspeksi yang dapat mendekripsi file message.rpmsg yang disematkan dan menyajikan serangkaian aliran byte sebagai output. Terserah konsumen SDK untuk mengekstrak file message.rpmsg dan meneruskannya ke API inspeksi. Variasi nama file ini ada untuk skenario Enkripsi Pesan Office dan API juga akan menerima file message_v2, v3, atau v4.

Penting

API inspeksi tidak menyediakan output yang akan menghasilkan file yang dapat digunakan, juga tidak memungkinkan Anda untuk melindungi kembali file input. Ini menghasilkan aliran byte yang kemudian dapat diproses aplikasi Anda lebih lanjut. Membuat ulang file MSG dari file message.rpmsg tidak didukung oleh MIP SDK.

Umumnya, layanan gateway email dan pencegahan kehilangan data (DLP) menangani pesan yang sesuai dengan MIME saat email sedang transit. Ketika email dilindungi, konten terenkripsi pesan disimpan dalam lampiran, message.rpmsg. Lampiran ini berisi isi email terenkripsi dan lampiran apa pun yang merupakan bagian dari pesan asli. File rpmsg kemudian dilampirkan ke email pembungkus teks biasa dan dikirim ke layanan email. Setelah pesan tersebut meninggalkan batas Exchange atau Exchange Online, pesan tersebut berada dalam format yang sesuai dengan MIME sehingga dapat dikirim ke tujuannya.

Dalam kebanyakan kasus, layanan DLP perlu mendapatkan lampiran dan byte teks biasa dari pesan untuk memeriksa dan mengevaluasi terhadap kebijakan DLP. API inspeksi mengambil message.rpmsg sebagai input dan mengembalikan aliran byte sebagai output. Aliran byte ini berisi byte teks biasa dari pesan dan lampiran. Terserah pengembang aplikasi untuk menangani aliran ini dan melakukan sesuatu yang berguna dengan mereka (memeriksa, mendekripsi secara rekursif, dll.).

Inspect API diimplementasikan melalui kelas , mip::FileInspectoryang mengekspos operasi untuk memeriksa jenis file yang didukung. mip::MsgInspector yang memperluas mip::FileInspector, mengekspos operasi dekripsi khusus untuk format file rpmsg. MIP SDK tidak mendukung skenario penerbitan apa pun untuk file message.rpmsg . Selain itu, FileHandler::RemoveProtection() API tidak mendukung file message.rpmsg. File Message.rpmsg hanya dapat didekripsi untuk inspeksi dan tidak akan menghasilkan file yang valid dan dapat digunakan. Jika aplikasi Anda memerlukan output file, Anda harus meneruskan file MSG dan menghapus perlindungan dari objek tersebut.

mip::MsgInspector kelas mengekspos anggota di bawah ini:

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

Untuk informasi selengkapnya, lihat referensi API.

Langkah berikutnya