Keamanan dan Enkripsi Email
Enkripsi/Mendenkripsi Pesan
Aspose.Email menyediakan fasilitas untuk mengenkripsi dan mendenkripsi pesan email menggunakan X509Certificates. Artikel ini menunjukkan cara memuat dan mengenkripsi pesan yang sudah ada atau baru menggunakan MailMessage. The Encrypt() dan Decrypt() metode mengembalikan sebuah MailMessage objek untuk efek yang diterapkan dan perlu diperhatikan saat mengenkripsi/mendenkripsi pesan. Proses mengenkripsi dan mendenkripsi pesan melibatkan langkah-langkah berikut:
- Buat pesan baru atau muat yang sudah ada
- Muat sertifikat enkripsi menggunakan objek X509Certificate
- Enkripsi pesan menggunakan sertifikat
- Kirim pesan atau simpan
- Dekripsi pesan sesuai kebutuhan
Cuplikan kode berikut menunjukkan cara mengenkripsi dan mendekripsi pesan.
Verifikasi Enkripsi Pesan
Aspose.Email MailMessage kelas memungkinkan Anda memeriksa apakah sebuah pesan terenkripsi atau tidak. The IsEncryptedproperti dari MailMessage memungkinkan Anda memeriksanya seperti yang ditunjukkan dalam contoh kode berikut.
Memeriksa Tanda Tangan Email Aman
The SecureEmailManager kelas memungkinkan Anda memeriksa tanda tangan objek MailMessage yang aman.
The SmimeResult kelas menyimpan hasil pemeriksaan.
Metode berikut dari SecureEmailManager kelas dan potongan kode akan memungkinkan Anda memproses sebuah tanda tangan:
- SecureEmailManager.CheckSignature(MailMessage msg) metode.
- SecureEmailManager.CheckSignature(MailMessage msg, X509Certificate2 certificateForDecrypt) metode.
- SecureEmailManager.CheckSignature(MailMessage msg, X509Certificate2 certificateForDecrypt, X509Store store) metode.
var eml = MailMessage.Load(fileName);
var result = new SecureEmailManager().CheckSignature(eml);
var certFileName = "cert.pfx";
var cert = new X509Certificate2(certFileName, "pass");
var eml = MailMessage.Load(fileName);
var store = new X509Store();
store.Open(OpenFlags.ReadWrite);
store.Add(cert);
store.Close();
var result = new SecureEmailManager().CheckSignature(eml, cert, store);
Tandatangani Email dengan DKIM
CATATAN: Fitur ini dapat diakses hanya untuk versi perpustakaan yang menargetkan .NET Framework. Versi yang menargetkan .NET Core tidak memiliki fitur ini.
Aspose.Email memungkinkan penandatanganan Email dengan DKIM (DomainKeys Identified Mail). Ini memungkinkan organisasi bertanggung jawab atas pesan yang sedang dalam perjalanan (Info Lebih Lanjut). DKIM menambahkan tanda tangan digital ke header pesan email yang dapat divalidasi oleh penerima. Kunci publik pengirim memungkinkan penerima untuk memverifikasi bahwa tanda tangan cocok dengan isi pesan. The DKIMSign metode dari MailMessage kelas digunakan untuk mengatur informasi kriptografi dan tanda tangan untuk menandatangani pesan. Potongan kode berikut menunjukkan cara menandatangani email dengan DKIM.
var eml = new MailMessage("sender@gmail.com", "receiver@gmail.com", "Some subject", "Some body text");
string privateKeyFile = "key2.pem";
RSACryptoServiceProvider rsa = PemReader.GetPrivateKey(privateKeyFile);
DKIMSignatureInfo signInfo = new DKIMSignatureInfo("test", "somedomain.com");
var signedEml = eml.DKIMSign(rsa, signInfo);