繁体   English   中英

MimeKit使用AES加密消息

[英]MimeKit encrypt Message with AES

我想du用MimeKit加密并签署邮件。

生成消息的工作原理:

        CmsRecipient CmsRecipient = new CmsRecipient("mail.cer");
        CmsRecipient.EncryptionAlgorithms = new EncryptionAlgorithm[] { EncryptionAlgorithm.Aes192 };
        to1.Add(CmsRecipient);

        var signed = MultipartSigned.Create(ctx, signer, multipart);
        var encrypted = ApplicationPkcs7Mime.Encrypt(ctx, to1, signed);
        message.Body = MultipartSigned.Create(ctx, signer, encrypted);

在Outlook中,它们使用以下格式进行加密:168位3DES,但是我需要AES265。 如何管理它?

我可以使用以下方式将签名设置为RSA / SHA512:

        signer.DigestAlgorithm = DigestAlgorithm.Sha512;

但不是加密。

编辑:更新为我的解决方案

CmsSigner指定DigestAlgorithm,但是CmsRecipient指定接收者支持的加密算法。

MimeKit选择加密算法的方式是,找出每个接收者支持的最佳加密算法,然后使用它。

换句话说,如果您要加密5个收件人,并且所有收件人都支持AES256,则MimeKit将使用AES256。 但是,如果其中一个收件人仅支持3DES(而其他所有收件人也都支持3DES和AES256),则改为选择3DES。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM