电子邮件安全与加密
Contents
[
Hide
]
加密/解密消息
Aspose.Email 提供使用 X509Certificates 加密和解密电子邮件的功能。本文展示了如何使用以下方式加载并加密现有或新建的消息: MailMessage。该 Encrypt() 和 Decrypt() 方法返回一个 MailMessage 对象用于实现的效果,在加密/解密消息时需要注意。加密和解密消息涉及以下步骤:
- 创建新消息或加载已有消息
- 使用 X509Certificate 对象加载加密证书
- 使用证书加密消息
- 发送消息或保存它
- 根据需要解密消息
以下代码片段展示了如何加密和解密消息。
验证消息加密
Aspose.Email MailMessage 该类允许您检查消息是否已加密。该 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 向电子邮件头部添加数字签名,收件人可以验证。发件人的公钥使接收方能够验证签名与邮件内容匹配。该 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);