使用Apache Camel进行邮件签名和加密

lahu89

我要签名并加密我的邮件。

我当前的骆驼版本是2.13.0。

我可以为此使用骆驼功能吗?

主体是纯文本,因此不能使用XMLDSig。

预期结果应该是带有以下标头的邮件:

  • 内容类型:application / pkcs7-mime; name =“ smime.p7m”; smime-type =封装数据
  • 内容传输编码:base64
克里加克斯

我不是骆驼用户,但是我很好奇并且玩过它。您想要的是S / MIME签名和加密。目前尚不可用,但是有一张票证,自2015年2月创建以来,从未得到任何回应。Camel具有MIME-Multipart数据格式,PGP加密(但仅对称),签名/验证(无加密)-但是我看不到将它们组合在一起以真正获得用于签名+加密电子邮件的有效S / MIME信封的方法。此外,PGP不是S / MIME,反之亦然。

我确实知道如何撰写和通过JavaMail + BouncyCastle库发送此类电子邮件,甚至还提供了示例代码。从理论上讲,您可以通过JavaMail + BouncyCastle创建MIME消息,然后使用Camel发送它或创建自己的S / MIME端点或数据格式(至少一种编组方式,如果不需要,则跳过编组)。但是开箱即用,我还没有找到一种方法。


更新:

即使我将预配置的经过签名和加密的MIME部分放在输入端点上,然后执行此操作...

.setHeader("From", simple("[email protected]"))
.setHeader("To", simple("[email protected]"))
.setHeader("Subject", simple("Signed & encrypted"))
.setHeader("Content-Type", simple("application/pkcs7-mime; name=\"smime.p7m\"; smime-type=enveloped-data"))
.setHeader("Content-Transfer-Encoding", simple("base64"))

...并且已发送邮件,像Thunderbird之类的邮件客户端无法真正显示该邮件,因为Camel邮件端点Content-Transfer-Encoding将值覆盖了7bit关于此问题,还有另一张票证,但自2014年6月以来仍未解决。因此,在通过JavaMail和BouncyCastle构建消息后,暂时甚至无法使用邮件端点发送消息。您甚至必须自己发送它(通过JM + BC也很简单,但很烦人)。因此,由于端点和数据格式不适合S / MIME消息编写,因此当前您不能真正使用Camel基础结构。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我正在使用iText进行pdf创建和加密

来自分类Dev

使用特定的密钥进行加密和签名

来自分类Dev

如何使用黑莓加密技术对数据进行签名

来自分类Dev

使用Windows加密存储中的凭据对APK进行签名?

来自分类Dev

如何使用Java中的BouncyCastle API对密码进行加密和加盐?

来自分类Dev

使用单个Cipher对象还是两个不同的对象进行解密和加密操作?

来自分类Dev

使用可变缓冲区进行编码/解码和加密/解密的含义

来自分类Dev

使用Apache Camel服务AngularJS

来自分类Dev

使用Apache Camel解组JSON

来自分类Dev

在 apache Camel 中使用 In 子句

来自分类Dev

使用Camel中的Apache Validator组件进行XML验证

来自分类Dev

使用公钥和私钥发送加密和签名的电子邮件以在 FMCSA 中提交数据

来自分类Dev

使用Apache Spark进行开发

来自分类Dev

在Apache Storm螺栓中使用Apache Camel ProducerTemplate

来自分类Dev

邮件使用gpg加密

来自分类Dev

邮件使用gpg加密

来自分类Dev

如何使用加密密钥对SAML2声明进行签名

来自分类Dev

如果我使用SSL,是否需要对cookie进行签名/加密?

来自分类Dev

如何在python中使用加密的RSA私钥(AES-256-CBC)对数据进行签名

来自分类Dev

如何使用Apache Camel监视文件更改?

来自分类Dev

使用apache Camel缓存http请求

来自分类Dev

使用apache camel删除远程目录

来自分类Dev

使用Apache Camel描述DynamoDB表

来自分类Dev

将Apache Camel与Amazon AWS结合使用

来自分类Dev

使用apache Camel缓存http请求

来自分类Dev

使用apache camel删除远程目录

来自分类Dev

使用Apache Camel的带有RequestReply的RecipientList

来自分类Dev

如何使用Apache Camel聚合CSV行?

来自分类Dev

使用Guice Injector的Apache Camel的PropertyInject

Related 相关文章

热门标签

归档