【问题标题】:How to create an x-pkcs7-signature s/mime message?如何创建 x-pkcs7-signature s/mime 消息?
【发布时间】:2018-06-01 18:13:16
【问题描述】:

我正在尝试在 C# 中创建 x-pkcs7-signature s/mime 消息。我一直在试验 Mimekit,只能制作 pkcs7 消息。

有谁知道我需要做什么来创建 x-pkcs 消息或指出一些示例?

问候

【问题讨论】:

  • FWIW、application/x-pkcs7-mimeapplication/x-pkcs7-signature 在 90 年代 S/MIME 成为标准之前使用。官方的 mime 类型现在(并且已经存在了 2 多年)application/pkcs7-mimeapplication/pkcs7-signature

标签: c# pkcs#7 smime


【解决方案1】:

使用 S/MIME 有 2 种不同的方式来签署消息:

  1. application/[x-]pkcs7-mime; smime-type=signed-data
  2. 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

【讨论】:

    猜你喜欢
    • 2013-07-13
    • 2011-09-07
    • 2011-03-17
    • 2013-06-07
    • 2012-11-18
    • 2014-09-16
    • 2021-09-30
    • 2020-12-31
    • 1970-01-01
    相关资源
    最近更新 更多