ความปลอดภัยและการเข้ารหัสอีเมล
เข้ารหัส/ถอดรหัสข้อความ
Aspose.Email มีความสามารถในการเข้ารหัสและถอดรหัสข้อความอีเมลโดยใช้ X509Certificates บทความนี้แสดงวิธีโหลดและเข้ารหัสข้อความที่มีอยู่หรือใหม่โดยใช้ MailMessage. ส่วน Encrypt() และ Decrypt() เมธอดคืนค่า MailMessage อ็อบเจกต์สำหรับผลที่นำไปใช้และต้องระมัดระวังขณะเข้ารหัส/ถอดรหัสข้อความ การเข้ารหัสและถอดรหัสข้อความประกอบด้วยขั้นตอนต่อไปนี้:
- สร้างข้อความใหม่หรือโหลดข้อความที่มีอยู่
- โหลดใบรับรองการเข้ารหัสโดยใช้วัตถุ X509Certificate
- เข้ารหัสข้อความโดยใช้ใบรับรอง
- ส่งข้อความหรือบันทึกมัน
- ถอดรหัสข้อความตามต้องการ
โค้ดตัวอย่างต่อไปนี้แสดงวิธีเข้ารหัสและถอดรหัสข้อความ.
ตรวจสอบการเข้ารหัสข้อความ
Aspose.Email MailMessage คลาสที่ให้คุณตรวจสอบว่าข้อความถูกเข้ารหัสหรือไม่. The IsEncryptedคุณสมบัติของ MailMessage ทำให้คุณตรวจสอบสิ่งนี้ตามที่แสดงในตัวอย่างโค้ดต่อไปนี้.
การตรวจสอบลายเซ็นอีเมลที่ปลอดภัย
นี้ SecureEmailManager คลาสที่ทำให้คุณตรวจสอบลายเซ็นของวัตถุ MailMessage ที่ปลอดภัย.
นี้ SmimeResult คลาสเก็บผลลัพธ์ของการตรวจสอบ.
เมธอดต่อไปนี้ของ SecureEmailManager คลาสและตัวอย่างโค้ดจะทำให้คุณสามารถประมวลผลลายเซ็นได้:
- SecureEmailManager.CheckSignature(MailMessage msg) เมธอด.
- SecureEmailManager.CheckSignature(MailMessage msg, X509Certificate2 certificateForDecrypt) เมธอด.
- SecureEmailManager.CheckSignature(MailMessage msg, X509Certificate2 certificateForDecrypt, X509Store store) เมธอด.
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);
ลงลายเซ็นอีเมลด้วย DKIM
หมายเหตุ: ฟีเจอร์นี้สามารถใช้งานได้เฉพาะสำหรับเวอร์ชันของไลบรารีที่เจาะจง .NET Framework เท่านั้น เวอร์ชันที่เจาะจง .NET Core ไม่มีฟีเจอร์นี้.
Aspose.Email อนุญาตให้ลงนามอีเมลด้วย DKIM (DomainKeys Identified Mail) ซึ่งทำให้องค์กรรับผิดชอบต่อข้อความขณะส่ง (ข้อมูลเพิ่มเติม). DKIM จะเพิ่มลายเซ็นดิจิทัลให้กับส่วนหัวของข้อความอีเมลที่ผู้รับสามารถตรวจสอบได้ คีย์สาธารณะของผู้ส่งทำให้ผู้รับสามารถยืนยันว่าลายเซ็นตรงกับเนื้อหาข้อความ. The DKIMSign เมธอดของ MailMessage คลาสที่ใช้ตั้งค่าข้อมูลการเข้ารหัสและลายเซ็นสำหรับการลงนามข้อความ ตัวอย่างโค้ดต่อไปนี้แสดงวิธีลงนามอีเมลด้วย 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);