E‑mailbeveiliging en versleuteling
Berichten versleutelen/ontsleutelen
Aspose.Email biedt de mogelijkheid om e‑mailberichten te versleutelen en te ontsleutelen met X509Certificates. Dit artikel toont hoe een bestaande of nieuwe boodschap kan worden geladen en versleuteld met MailMessage. De Encrypt() en Decrypt() methoden retourneren een MailMessage object voor de toegepaste effecten en moet in acht worden genomen bij het versleutelen/ontsleutelen van berichten. Het versleutelen en ontsleutelen van berichten omvat de volgende stappen:
- Maak een nieuw bericht aan of laad een bestaand bericht
- Laad een versleutelingscertificaat met het X509Certificate‑object
- Versleutel het bericht met het certificaat
- Verzend het bericht of sla het op
- Ontcijfer het bericht zoals vereist
Het volgende codefragment laat zien hoe je berichten kunt versleutelen en ontcijferen.
Berichtversleuteling verifiëren
Aspose.Email MailMessage klasse stelt u in staat te controleren of een bericht versleuteld is of niet. De IsEncryptedeigenschap van MailMessage stelt u in staat dit te controleren zoals getoond in het volgende code‑voorbeeld.
Handtekening van beveiligde e‑mails controleren
De SecureEmailManager klasse stelt u in staat de handtekening van beveiligde MailMessage‑objecten te controleren.
De SmimeResult klasse slaat de resultaten van de controle op.
De volgende methoden van de SecureEmailManager klasse en een code‑fragment stellen u in staat een handtekening te verwerken:
- SecureEmailManager.CheckSignature(MailMessage msg) methode.
- SecureEmailManager.CheckSignature(MailMessage msg, X509Certificate2 certificateForDecrypt) methode.
- SecureEmailManager.CheckSignature(MailMessage msg, X509Certificate2 certificateForDecrypt, X509Store store) methode.
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);
E‑mails ondertekenen met DKIM
OPMERKING: De functie is alleen beschikbaar voor bibliotheekversies die zich richten op .NET Framework. Versies die zich richten op .NET Core hebben deze functie niet.
Aspose.Email maakt ondertekening van e‑mail met DKIM (DomainKeys Identified Mail) mogelijk. Dit laat een organisatie verantwoordelijkheid nemen voor een bericht dat onderweg is (Meer info). DKIM voegt een digitale handtekening toe aan de e‑mailheader die door ontvangers kan worden gevalideerd. De publieke sleutel van de afzender stelt de ontvanger in staat te verifiëren dat de handtekening overeenkomt met de inhoud van het bericht. De DKIMSign methode van de MailMessage klasse wordt gebruikt om de cryptografische en handtekeninginformatie in te stellen voor het ondertekenen van het bericht. Het volgende code‑fragment toont hoe u e‑mails ondertekent met 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);