使用 c#.net 使用证书签署电子邮件

byt*_*boy 5 .net c# email certificate

我正在尝试使用“来自证书”发送电子邮件。我正在使用 Framework 4.0,在 C# X509Certificates 类中。

SmtpClient sc = new SmtpClient(mSMTPServer, mSMTPPort);
sc.EnableSsl = true;
sc.ClientCertificates.Add(new X509Certificate(certificatePath, certPassword)); 
sc.Send(mail);
Run Code Online (Sandbox Code Playgroud)

我面临的问题是证书未附加或使用“来自”部分的电子邮件签名。任何人都可以帮助我,我如何使用 C#.NET 和 Framework 4.0 从电子邮件的一部分进行签名?

Ser*_*tos 5

更新:看看这个链接:

http://www.codeproject.com/Articles/41727/An-S-MIME-Library-for-sending-and-Signed-Encrypted

对于仅签名,将要加密的参数传递为空。


jst*_*ast 2

我建议您查看MimeKit,您可以使用它对电子邮件进行数字签名。

然后,一旦您拥有签名的电子邮件,您就可以使用MailKit的 SmtpClient 类发送它,该类与 System.Net.Mail.SmtpClient 非常相似。

System.Net.Mail.SmtpClient.ClientCertificates 不用于对消息进行签名,它们仅用于通过 SSL 向服务器进行身份验证。