如何创建 x-pkcs7-signature s/mime 消息?
Posted
技术标签:
【中文标题】如何创建 x-pkcs7-signature s/mime 消息?【英文标题】:How to create an x-pkcs7-signature s/mime message? 【发布时间】:2018-06-01 18:13:16 【问题描述】:我正在尝试在 C# 中创建 x-pkcs7-signature s/mime 消息。我一直在试验 Mimekit,只能制作 pkcs7 消息。
有谁知道我需要做什么来创建 x-pkcs 消息或指出一些示例?
问候
【问题讨论】:
FWIW、application/x-pkcs7-mime
和 application/x-pkcs7-signature
在 90 年代 S/MIME 成为标准之前使用。官方的 mime 类型现在(并且已经存在了 2 多年)application/pkcs7-mime
和 application/pkcs7-signature
。
【参考方案1】:
使用 S/MIME 有 2 种不同的方式来签署消息:
application/[x-]pkcs7-mime; smime-type=signed-data
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
。
【讨论】:
以上是关于如何创建 x-pkcs7-signature s/mime 消息?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 VS 2008 BIDS 创建 s-s-rS 2008r2 rdl
如何使用分组和分页符来创建双面 s-s-rS 徽章报告? (Microsoft SQL Server 2012 报表生成器)