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

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

问候

最佳答案

使用 S/MIME 对消息进行签名有 2 种不同的方法:

  • application/[x-]pkcs7-mime; smime-type=signed-data
  • application/[x-]pkcs7-signature

  • 要签署第一种方式,请执行以下操作:
    var signer = new MailboxAddress ("", "[email protected]");
    var signed = ApplicationPkcs7Mime.Sign (signer, DigestAlgorithm.Sha256, entity);
    

    另一种方式是这样完成的:
    using (var ctx = new WindowsSecureMimeContext ()) {
        var signer = new MailboxAddress ("", "[email protected]");
        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/

    10-11 18:58