E‑Mail‑Sicherheit und -Verschlüsselung
Nachrichten verschlüsseln/entschlüsseln
Aspose.Email bietet die Möglichkeit, E‑Mail‑Nachrichten mit X509Certificates zu verschlüsseln und zu entschlüsseln. Dieser Artikel zeigt, wie eine vorhandene oder neue Nachricht geladen und mit MailMessage. Die Encrypt() und Decrypt() Methoden geben ein MailMessage Objekt für die angewandten Effekte und muss beim Verschlüsseln/Entschlüsseln von Nachrichten berücksichtigt werden. Das Verschlüsseln und Entschlüsseln von Nachrichten umfasst die folgenden Schritte:
- Erstellen Sie eine neue Nachricht oder laden Sie eine bestehende
- Laden Sie ein Verschlüsselungszertifikat mit dem X509Certificate‑Objekt
- Verschlüsseln Sie die Nachricht mit dem Zertifikat
- Senden Sie die Nachricht oder speichern Sie sie
- Entschlüsseln Sie die Nachricht nach Bedarf
Das folgende Code‑Snippet zeigt, wie Nachrichten verschlüsselt und entschlüsselt werden.
Nachrichtenverschlüsselung prüfen
Aspose.Email MailMessage Klasse ermöglicht es, zu prüfen, ob eine Nachricht verschlüsselt ist oder nicht. Die IsEncryptedEigenschaft von MailMessage ermöglicht Ihnen, dies wie im folgenden Code‑Beispiel gezeigt zu prüfen.
Signatur sicherer E‑Mails prüfen
Die SecureEmailManager Klasse ermöglicht es, die Signatur von sicheren MailMessage‑Objekten zu prüfen.
Die SmimeResult Klasse speichert die Ergebnisse der Prüfung.
Die folgenden Methoden der SecureEmailManager Klasse und ein Code‑Snippet ermöglichen Ihnen, eine Signatur zu verarbeiten:
- 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 mit DKIM signieren
HINWEIS: Die Funktion ist nur für Bibliotheksversionen verfügbar, die .NET Framework anvisieren. Versionen, die .NET Core ansprechen, besitzen diese Funktion nicht.
Aspose.Email ermöglicht das Signieren von E‑Mails mit DKIM (DomainKeys Identified Mail). Dadurch kann eine Organisation Verantwortung für eine in der Übertragung befindliche Nachricht übernehmen (Mehr Info). DKIM fügt den E‑Mail‑Headern eine digitale Signatur hinzu, die von Empfängern validiert werden kann. Der öffentliche Schlüssel des Absenders ermöglicht es dem Empfänger, zu überprüfen, dass die Signatur mit dem Inhalt der Nachricht übereinstimmt. Die DKIMSign Methode des MailMessage Klasse wird verwendet, um kryptografische und Signaturinformationen für das Signieren der Nachricht festzulegen. Das folgende Code‑Snippet zeigt, wie E‑Mails mit DKIM signiert werden.
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);