使用Java Transport Client连接到弹性搜索时出现“不支持TLSv1.3”错误

问题描述

我正在尝试通过Java传输客户端安全地连接到弹性搜索(7.8)。我已经使用x-pack保护弹性搜索连接。由于出现以下错误,我无法创建Client对象。

2020-08-13 17:43:24 [main] DEBUG XPackSettings:199 - TLSv1.3 is not supported
java.security.NoSuchAlgorithmException: TLSv1.3 SSLContext not available
at sun.security.jca.GetInstance.getInstance(GetInstance.java:159) ~[?:1.8.0_251]
at javax.net.ssl.SSLContext.getInstance(SSLContext.java:156) ~[?:1.8.0_251]
at org.elasticsearch.xpack.core.XPackSettings.<clinit>(XPackSettings.java:196) [x-pack-core-7.8.1.jar:7.8.1]

我正在使用Java 1.8并支持jar以及下面列出的版本。

elasticsearch-7.8.0.jar                                r
elasticsearch-cli-7.8.0.jar                            
elasticsearch-core-7.8.0.jar                           
elasticsearch-geo-7.8.0.jar                            
elasticsearch-nio-7.8.1.jar                            
elasticsearch-rest-client-7.8.1.jar                    
elasticsearch-secure-sm-7.8.0.jar                      
elasticsearch-ssl-config-7.8.1.jar                     
elasticsearch-x-content-7.8.0.jar
x-pack-core-7.8.1.jar
x-pack-transport-7.8.1-1.0.jar

我用来通过传输端口9300连接到弹性搜索的连接代码如下。

Client client = new PreBuiltXPackTransportClient(Settings.builder().put("cluster.name",esClusterName)
                .put("node.name",esNodeName)
                .put("xpack.security.transport.ssl.enabled",true)
                .put("request.headers.X-Found-Cluster",esClusterName)
                .put("xpack.security.user",elasticSerachCred)
                .put("xpack.security.transport.ssl.key",elasticSearchSSLKeyLocation)
                .put("xpack.security.transport.ssl.certificate",elasticSearchSSLCertificateLocation)
                .put("client.transport.sniff",false)
                .build()).addTransportAddress(new TransportAddress(InetAddress.getByName(transportServerName),transportPort));

我使用的弹性搜索密钥和证书与为确保安全性而在elasticsearch.yml文件添加的相同。

注意:-当我不通过tomcat服务器运行此连接代码时,连接工作正常,但使用tomcat服务器则显示错误

因此,我很困惑我是否需要在tomcat方面进行一些更改,或者是否有任何弹性搜索支持jar版本不匹配而导致这种情况。

有人可以在这里引导我吗?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)