如何创建x-pkcs7-signature s / mime消息?

时间:2017-12-19 10:22:55

标签: c# pkcs#7 smime

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

有谁知道我需要做什么来创建x-pkcs消息或者给我一些例子?

此致

1 个答案:

答案 0 :(得分:0)

使用S / MIME签名邮件有两种不同的方法:

  1. application/[x-]pkcs7-mime; smime-type=signed-data
  2. application/[x-]pkcs7-signature
  3. 要签署第一条路,请执行以下操作:

    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