Безопасность и шифрование электронной почты
Шифрование/дешифрование сообщений
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);