java 消息签名_java – RabbitMQ消息签名

我想使用RabbitMQ在多个应用程序之间进行通信,这些应用程序部署在不同的网络上并由不同的人员维护.作为消息(消费者)的接收者,我希望确信消息的发送者(生产者)是他声称的那个人.我能想到的最佳方法是签名和验证这些签名.由于这是我第一次使用RabbitMQ做某事,我对如何实现这一点感到困惑.

消息发送者和接收者是Java应用程序.我决定使用Spring AMQP模板让事情变得更容易.在一个完美的场景中,我想以某种方式拦截消息,当它已经是字节数组/流时,签署此blob并将签名​​附加为消息头.在接收端,我再次想要在反序列化之前拦截消息,从头部对blob验证签名,如果一切正常,则反序列化它.但是我没有在Spring-Rabbit中找到任何方法来做这件事.

Spring-Rabbit中有一个MessagePostProcessor的概念,但是当调用它时,消息仍然没有完全序列化.看起来我想象的东西会被某人解决,因为感觉这是一个常见的问题,但是我的研究让我光着头.

目前我使用AmqpTemplate.convertAndSend进行消息发送,使用@RabbitListener进行消息接收.但我并没有被春天困住.我可以使用我喜欢的任何东西.它似乎是一种简单的方法.我正在使用Jackson进行JSON的消息序列化.问题是如何在正确的地方拦截发送和接收.

备份计划是将数据和签名放在正文中并使用包装器将它们联合起来,但这意味着双重序列化并且不像我想要的解决方案那样干净.

那么有没有人有这方面的经验,也许可以建议我如何解决这个问题?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值