C # Создать сообщение MIME? - PullRequest
3 голосов
/ 16 июля 2010

Есть ли встроенная функциональность для MIME файла в C # .Net? Что я хочу сделать, это:

  1. Преобразование файла в сообщение MIME
  2. Подпишите сообщение MIME для блка pcks 7
  3. MIME, что pkcs 7 blob
  4. Наконец-то зашифровать все.

Любые предложения о том, как мне поступить по этому поводу (не часть шифрования или подписи, а MIMEing)? Что именно входит в MIMEing файл?

Ответы [ 3 ]

2 голосов
/ 26 июля 2010

Вместо того, чтобы иметь дело со сторонними библиотеками, я предлагаю вам взглянуть на основную библиотеку .NET.Используйте класс Attachment ;это было вокруг с .NET 2.

2 голосов
/ 03 августа 2010

Насколько я знаю, в голом .NET такой поддержки нет. Вы должны попробовать одну из сторонних библиотек. Одним из них является наша Rebex Secure Mail для .NET . Следующий код показывает, как этого добиться:

using Rebex.Mail;
using Rebex.Mime.Headers;
using Rebex.Security.Certificates;
...

// load the sender's certificate and 
// associated private key from a file 
Certificate signer = Certificate.LoadPfx("hugo.pfx", "password");

// load the recipient's certificate 
Certificate recipient = Certificate.LoadDer("joe.cer");

// create an instance of MailMessage 
MailMessage message = new MailMessage();

// set its properties to desired values 
message.From = "hugo@example.com";
message.To = "joe@example.com";
message.Subject = "This is a simple message";
message.BodyText = "Hello, Joe!";
message.BodyHtml = "Hello, <b>Joe</b>!";

// sign the message using Hugo's certificate 
message.Sign(signer);

// and encrypt it using Joe's certificate 
message.Encrypt(recipient);

// if you wanted Hugo to be able to read the message later as well, 
// you can encrypt it for Hugo as well instead - comment out the previous 
// encrypt and uncomment this one: 
// message.Encrypt(recipient, signer) 

(Код взят со страницы учебника S / MIME )

2 голосов
/ 26 июля 2010

Есть хороший коммерческий пакет за небольшую плату: Mime4Net

...