[英]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.