使用MimeKit寄發加密加簽信件
MimeKit是.NET Foundation 開放社群的一項專案,提供處理各式Mime格式的函式庫,例如支持 S/MIME 和 PGP,並且支援.NET/Mono的所有平台等。
預設DefaultSecureMimeContext使用SQLite
Windows環境可使用WindowsSecureMimeContext
或TemporarySecureMimeContext
Windows環境可使用WindowsSecureMimeContext
或TemporarySecureMimeContext
var joey = new MailboxAddress ("Joey", "joey@friends.com");
var alice = new MailboxAddress ("Alice", "alice@wonderland.com");
var message = new MimeMessage ();
message.From.Add (joey);
message.To.Add (alice);
message.Subject = "How you doin?";
// create our message body (perhaps a multipart/mixed with the message text and some
// image attachments, for example)
var body = CreateMessageBody ();
// now to digitally sign our message body using our custom S/MIME cryptography context
using (var ctx = new MySecureMimeContext ()) {
// Note: this assumes that "Joey" has an S/MIME signing certificate and private key
// with an X.509 Subject Email identifier that matches Joey's email address.
message.Body = MultipartSigned.Create (ctx, joey, DigestAlgorithm.Sha1, body);
}
// now to digitally sign our message body using our custom S/MIME cryptography context
using (var ctx = new MySecureMimeContext ()) {
var certificate = GetJoeysX509Certificate ();
var signer = new CmsSigner (certificate);
signer.DigestAlgorithm = DigestAlgorithm.Sha1;
message.Body = MultipartSigned.Create (ctx, signer, body);
}
留言
張貼留言