GrapeCity Secure Mail for .NET 4.0J
SecureEncrypt() メソッド
使用例 

S/MIMEエンコーディングのデフォルト値を使用してMailMessageを暗号化します。
シンタックス
Public Overloads Sub SecureEncrypt() 
public void SecureEncrypt()
解説

MailMessageは、EncryptingAlgorithm.TripleDesと、各受信者(ToCcBcc)に関連付けられた証明書の公開鍵を使用して暗号化されます。これらの証明書は、現在のユーザーのAddressBook証明書ストアから取得されます。暗号化は受信者ごとに実行されるため、受信者の数が多いほど、暗号化されたMailMessageのサイズは大きくなります。ヘッダは暗号化されません。

追加のコントロールが必要な場合は、SecureEncrypt(X509Certificate2Collection,EncryptingAlgorithm,Boolean)を使用します。

使用例
以下のサンプルコードは、受信者の証明書を使用してメッセージを暗号化する方法を示します。
using System.Security.Cryptography.X509Certificates;

private MailMessage getEncryptedMessage(MailMessage message)
{
    // 暗号化に使用する証明書をCurrentUser/AddressBookストアで検索します。
    // 以下のコードを実行すると、"message.SecureEncrypt()"と同じ暗号化メッセージが得られます。
    X509Certificate2Collection encryptingCertificates = new X509Certificate2Collection();
    X509Store addressBookStore = new X509Store(StoreName.AddressBook, StoreLocation.CurrentUser);
    addressBookStore.Open(OpenFlags.ReadOnly);
    foreach (X509Certificate2 certificate in addressBookStore.Certificates)
    {
        if (certificate.Subject.Contains("E=" + message.To))
        {
            encryptingCertificates.Add(certificate);
            // メッセージを暗号化します。
            message.SecureEncrypt(encryptingCertificates, EncryptingAlgorithm.TripleDes, false);
            return message;
        }
    }
    return null;
}
Imports System.Security.Cryptography.X509Certificates

Private Function getEncryptedMessage(ByVal message As MailMessage) As MailMessage
    ' 暗号化に使用する証明書をCurrentUser/AddressBookストアで検索します。
    ' 以下のコードを実行すると、"message.SecureEncrypt()"と同じ暗号化メッセージが得られます。
    Dim encryptingCertificates As New X509Certificate2Collection()
    Dim addressBookStore As New X509Store(StoreName.AddressBook, StoreLocation.CurrentUser)
    addressBookStore.Open(OpenFlags.ReadOnly)
    For Each certificate As X509Certificate2 In addressBookStore.Certificates
        If certificate.Subject.Contains("E=" & message.To) Then
            encryptingCertificates.Add(certificate)
            ' メッセージを暗号化します。
            message.SecureEncrypt(encryptingCertificates, EncryptingAlgorithm.TripleDes, False)
            Return message
        End If
    Next certificate
    Return Nothing
End Function
参照

参照

MailMessage クラス
MailMessage メンバ
オーバーロード一覧

 

 


© 2003, GrapeCity inc. All rights reserved.