数字签名电子邮件

时间:2011-01-05 21:52:14

标签: .net email digital-signature system.net.mail

我有一个发送客户声明的应用程序。我要求少数客户对电子邮件(带有pdf附件)进行数字签名。我目前正在使用System.Net.Mail发送电子邮件。我似乎无法找到一个明确的答案,这可以在.NET中完成,还是应该调查第三方组件?

3 个答案:

答案 0 :(得分:0)

Here's用于签名邮件的一些代码。但是,使用更强大的第三方组件是有意义的。我们的SecureBlackbox产品包含MIMEBlackbox包,可提供全范围的MIME和S / MIME操作。

答案 1 :(得分:0)

查看Mail.dll email component

IMail email = Mail.Text("This is message body")
  .Subject("Test")
  .From(new MailBox("mail@in_the_certificate.com", "Alice"))
  .To(new MailBox("bob@mail.com", "Bob"))
  .AddAttachment(@"c:\invoice.pdf")
  .SignWith(new X509Certificate2("TestCertificate.pfx", ""))
  .Create();

using (Smtp smtp = new Smtp())
{
    smtp.Connect("smtp.server.com");
    smtp.Ehlo();
    smtp.Login("user", "password");
    smtp.SendMessage(email);
    smtp.Close();
} 

您还可以使用Mail.dll的模板引擎来创建邮件正文。

免责声明:请注意,这是我帮助创建的商业产品(虽然价格合理)。

答案 2 :(得分:-1)

在CodeProject上查看Peter Everett的project。我之前使用它来发送加密的电子邮件,效果很好。