メールのセキュリティと暗号化

メッセージの暗号化/復号化

Aspose.Email は X509Certificates を使用してメールメッセージの暗号化と復号化を行う機能を提供します。本記事では、既存または新規メッセージをロードし、次を使用して暗号化する方法を示します。 MailMessageEncrypt() および 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);