我正在尝试在 C# 中创建 x-pkcs7-signature s/mime 消息。我一直在试验 Mimekit,但只能制作 pkcs7 消息。
有人知道我需要做什么来创建 x-pkcs 消息或给我一些例子吗?
问候
最佳答案
有两种不同的方法可以使用 S/MIME 对消息进行签名:
应用程序/[x-]pkcs7-mime; smime-type=签名数据
application/[x-]pkcs7-signature
要以第一种方式签名,请执行以下操作:
var signer = new MailboxAddress ("", "signer@example.com");
var signed = ApplicationPkcs7Mime.Sign (signer, DigestAlgorithm.Sha256, entity);
另一种方式是这样的:
using (var ctx = new WindowsSecureMimeContext ()) {
var signer = new MailboxAddress ("", "signer@example.com");
var signed = MultipartSigned.Sign (ctx, signer, DigestAlgorithm.Sha256, entity);
}
在这两种情况下,您还可以使用 MimeKit.Cryptography.CmsSigner
而不是 MailboxAddress
。如果您知道证书的指纹,也可以使用 SecureMailboxAddress
。
关于c# - 如何创建 x-pkcs7-signature s/mime 消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47884782/