S/MIME 消息处理:加密、签名与压缩
1. S/MIME 封装消息
S/MIME 封装消息与 S/MIME 签名消息不同,它仅表示为单个 MIME 主体部分。这是因为它包含 CMS 封装数据消息,其加密数据也包含在其中。可以通过 MIME 类型 application/pkcs7-mime 以及 smime-type 参数为 enveloped-data 来识别 S/MIME 封装消息。
由于其数据已加密,所以不会出现 S/MIME 签名消息中的规范化问题。在处理与 S/MIME 封装消息相关的 MIME 主体部分时,用于创建和处理它们的 Java 类在加密和解密步骤中都使用 CMSProcessableBodyPart 类。在 Bouncy Castle S/MIME API 中,代表这些消息的类是 SMIMEEnveloped 类。
1.1 SMIMEEnveloped 类
org.bouncycastle.cms.SMIMEEnveloped 类是前面提到的 CMSEnvelopedData 类的扩展。它可以使用 MimeMessage 或 MimeBodyPart 来构造,假定这些对象包含 CMS 封装数据消息。构造函数可能会抛出 MessagingException (如果使用传入的 MIME 对象时出现问题)或 CMSExcepti
超级会员免费看
订阅专栏 解锁全文
62

被折叠的 条评论
为什么被折叠?



