使用Java的SSL握手错误
我正在尝试使用SSL证书将java客户机与JMX服务器连接起来 但不幸的是,此连接会产生SSL握手错误。当我尝试使用使用Java的SSL握手错误,java,ssl,jmx,truststore,Java,Ssl,Jmx,Truststore,我正在尝试使用SSL证书将java客户机与JMX服务器连接起来 但不幸的是,此连接会产生SSL握手错误。当我尝试使用-Djavax.net.debug=all标志调试时,我在java客户机上收到以下错误消息 2016-07-15T13:29:50.02-0700[APP/0]我们的RMI更新清理-[10.200.0.27:445,javax.RMI.ssl。SslRMIClientSocketFactory@305a99f7],读取:TLSv1.2警报,长度=2 2016-07-15T13:29
-Djavax.net.debug=all
标志调试时,我在java客户机上收到以下错误消息
2016-07-15T13:29:50.02-0700[APP/0]我们的RMI更新清理-[10.200.0.27:445,javax.RMI.ssl。SslRMIClientSocketFactory@305a99f7],读取:TLSv1.2警报,长度=2
2016-07-15T13:29:50.02-0700[APP/0]我们的RMI更新清理-[10.200.0.27:445,javax.RMI.ssl。SslRMIClientSocketFactory@305a99f7],RECV TLSv1警报:致命,握手失败
2016-07-15T13:29:50.02-0700[APP/0]我们的RMI更新清理-[10.200.0.27:445,javax.RMI.ssl。SslRMIClientSocketFactory@305a99f7],称为closeSocket()
2016-07-15T13:29:50.02-0700[APP/0]我们的RMI更新清理-[10.200.0.27:445,javax.RMI.ssl。SslRMIClientSocketFactory@305a99f7],处理异常:javax.net.ssl.SSLHandshakeException:收到致命警报:握手失败
当我将客户端更改为其他类型(如JConsole)时,使用相同的SSL证书和truststore连接可以正常工作,这表明SSL证书或其连接到的域没有问题。似乎握手失败是因为TLS版本类型不正确 我的客户机运行在使用TLS版本1的Java7上,而服务器运行的是使用TLS版本1.2的Java8 检查这个,它提到Java8将默认使用TLS版本1.2 因此,当我升级我的客户机使用Java8时,问题得到了解决
希望,这对其他人也有帮助。正如你自己所注意到的:有些客户是有效的,而你的客户不是其中之一。这意味着问题出在你的客户身上,如果不提供更多关于这个客户的信息,就不可能帮助你。看见