电子邮件安全与加密

加密/解密消息

Aspose.Email 提供使用 X509Certificates 加密和解密电子邮件的功能。本文展示了如何使用以下方式加载并加密现有或新建的消息: MailMessage。该 Encrypt() 和 Decrypt() 方法返回一个 MailMessage 对象用于实现的效果,在加密/解密消息时需要注意。加密和解密消息涉及以下步骤:

  1. 创建新消息或加载已有消息
  2. 使用 X509Certificate 对象加载加密证书
  3. 使用证书加密消息
  4. 发送消息或保存它
  5. 根据需要解密消息

以下代码片段展示了如何加密和解密消息。

验证消息加密

Aspose.Email MailMessage 该类允许您检查消息是否已加密。该 IsEncrypted属性属于 MailMessage 允许您按以下代码示例进行检查。

检查安全电子邮件签名

SecureEmailManager 该类允许您检查安全 MailMessage 对象的签名。

SmimeResult 该类存储检查结果。

以下是该类的方法 SecureEmailManager 该类和代码片段将帮助您处理签名:

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 向电子邮件头部添加数字签名,收件人可以验证。发件人的公钥使接收方能够验证签名与邮件内容匹配。该 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);