Tomcat服务器之间的安全通信

时间:2019-09-09 18:44:03

标签: java tomcat encryption public-key-encryption sha

注意:这个问题有点问here,但没有回答。

我需要在两个不同环境中运行的两个Tomcat服务器之间安全地通信。我可以控制两个服务器。

我想通过从Server-B到Server-A的简单REST调用来做到这一点。

在与之通信的服务器Server-A上,我可以轻松地使用自签名证书设置HTTPS。如果将此证书导入到服务器B上的Java密钥库中,则可以从服务器B上的Java代码发出受信任的HTTPS Rest调用。

此处提供了良好的说明: https://blog.10pines.com/2017/09/25/how-to-communicate-via-https-between-two-tomcat-servers-using-a-self-signed-certificate/

我还要添加一个确认,确认对Server-A的Rest调用肯定来自Server-B,并且消息具有完整性。

我的计划是在服务器B上生成一个自签名证书,并将此证书导入到服务器A上的Java密钥库中。然后,对于来自Server-B的任何REST调用,我将首先生成消息的SHA-512哈希,并使用与Server-B证书关联的私钥对哈希签名。当服务器A收到消息时,将重新计算SHA-512哈希并检查哈希的准确性(无消息篡改)。然后,我将根据服务器B的证书的公钥检查哈希的签名。

对于一些额外的偏执狂,我可以使用Server-A的证书的公钥对REST消息进行加密;对于短消息,这应该没问题(不需要对称加密)。

这似乎是个好计划吗? Tomcat是否有更简单的机制来做到这一点?

在这种情况下,Java Messaging API似乎“繁重”。

0 个答案:

没有答案