gpt4 book ai didi

java - 未能建立 SSL 通信 b/w 客户端进程和 MQ 系列

转载 作者:行者123 更新时间:2023-12-04 08:58:01 24 4
gpt4 key购买 nike

根据公司的政策,我们需要使用 MQ 服务器对我们的客户端进程加密通信 channel 。在我们的分布式系统中,我们需要几个 Java 进程来建立与 MQ 的连接。让我说,过程A和B。
A 和 B 在不同的虚拟机上运行。它们具有完全相同的环境,包括相同版本的 JRE(1.8.0_151-b12)、相同的依赖项、相同的 JCE 扩展文件。我们在各个进程的启动脚本中添加了ssl相关的JVM参数,比如

-Djavax.net.ssl.trustStore
-Djavax.net.ssl.trustStorePassword
-Djavax.net.ssl.keyStore
-Djavax.net.ssl.keyStorePassword
相应的 trustStore 和 keyStore 文件已就位并正确引用。
A 工作正常,我们观察到 SSL 握手和加密消息。但是,进程 B 失败并显示以下消息:
ignoring unavailable cipher TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
...
Caused by: java.lang.IllegalArgumentException: Cannot support
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA with currently installed providers
我确实花时间在线查看,一篇相关帖子来自 here :它建议下载和升级 JCE 文件 - 问题是我已经安装了 JCE 文件(无限制),并且这两个进程都是相同的。我不认为 JCE 文件是问题的根源。
我的问题是,MQ 团队是否也必须安装 JCE 文件才能让客户端建立 SSL 连接?我的配置是否完成,我可能错过了什么?
更新:问题解决了。请参阅下面的评论。

最佳答案

在 1.8.0_162 之前,默认情况下不包括和启用无限强度管辖策略文件(crypto.policy 设置为无限制)。在 1.8.0_151 Unlimited Strength Jurisdiction Policy Files 包括但未启用。
请检查您是否确实在两个 VM 上都运行 Java 1.8.0_151-b12,如果您要确保工作 VM 上的 java 安全文件 crypto.policy 设置与非工作 VM 相同。

关于java - 未能建立 SSL 通信 b/w 客户端进程和 MQ 系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63707735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com