当前位置: 首页 > 知识库问答 >
问题:

使用 Java 的 SSL 握手错误

杜烨伟
2023-03-14

我正在尝试使用SSL证书将java客户端与JMX服务器连接。

但是不幸的是,这个连接给出了一个SSL握手错误。当我尝试使用< code >-DJ avax . net . debug = all 标志对此进行调试时,我在java客户端上得到以下错误消息。

2016-07-15T13:29:50.02-0700[APP/0]退出RMI更新清洁-[10.200.0.27:44445,javax.rmi.ssl.SslRMIClientSocketFactory@305a99f7],读取:TLSv1.2警报,长度=2

2016-07-15T13:29:50.02-0700[APP/0]OUT RMI RenewClean-[10.200.0.27:44445,javax.rmi.ssl.SslRMIClientSocketFactory@305a99f7], RECV TLSv1 ALERT:致命,handshake_failure

2016-07-15T13:29:50.02-0700[APP/0]OUT RMI RenewClean-[10.200.0.27:44445,javax.rmi.ssl.SslRMIClientSocketFactory@305a99f7],称为closeSocket()

2016-07-15T13:29:50.02-0700 [APP/0] OUT RMI RenewClean-[10.200.0.27:44445,javax.rmi.ssl.SslRMIClientSocketFactory@305a99f7],处理异常:javax.net.ssl.SSLHandshake异常:收到致命警报:handshake_failure

当我将客户端更改为其他内容(如 JConsole)时,使用相同的 SSL 证书和信任库,连接可以正常工作,这表明 SSL 证书或其连接到的域没有问题。

共有1个答案

燕烨
2023-03-14

似乎由于TLS版本类型不正确,握手失败。

我的客户机运行在使用TLS版本1的Java7上,而服务器运行的是使用TLS 1.2的Java8。

查看这个oracle博客,其中提到Java8将默认使用TLS版本1.2

因此,当我升级我的客户端以使用Java8时,这个问题得到了解决。

霍普,这也能帮助其他人。

 类似资料:
  • 我试图通过SSL连接(在我的独立应用程序和Tomcat提供的其他应用程序之间发送一些数据): 不幸的是,我的独立应用程序中出现了一个错误: 原因:javax。网ssl。例外:太阳。安全验证器。ValidatorException:PKIX路径生成失败:sun。安全供应商。certpath。SunCertPathBuilderException:无法在com上找到请求目标的有效证书路径。太阳网ssl

  • 我正在学习SSL通信,我遇到了这个问题。我正在编写一个简单的客户端,它试图与本地apache服务器握手。服务器启用https。我将服务器证书添加到所有可能的信任存储(jdk中的一个 注意:我从以下教程中获取了代码: http://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html#KRB 停留

  • 笔记: 最初我试图从使用如下代码 代码1: 错误: 在谷歌搜索之后,我发现您已经使用了SSL验证,使用适配器会话可以解决这个问题。但我仍然有错误,请找到下面的代码和错误 代码2: 错误:

  • 我们有一个SSL问题,我是99%,这不是你通常的证书信任商店旋转木马。 我们有一个Weblogic服务器试图通过LDAPS与Active Directory建立SSL连接,底层SSL实现是JSSE。 有时,它是有效的。通常在重新启动Weblogic后的几个小时内。 之后,我们开始得到SSL握手错误,与SSL调试打开我们看到: [ACTIVE]ExecuteThread:'10'用于队列:'webl

  • 问题内容: 我已经将证书导入到信任库中,但是仍然无法成功连接到该URL。我已经尝试了所有方法,任何人都可以看到输出并提供帮助吗? 无法弄清楚这是什么,应用程序正在使用java1.6,但是SSLPoke无法通过两种情况 问题答案: 我发现客户也进行了验证。因此它是2路身份验证。客户还必须将我的公共证书导入其密钥库。

  • 我在JavaRMI应用程序中的SSL握手开始时遇到了一些问题。 我的应用程序与标准 RMI 套接字配合良好,但如果按照本指南将默认套接字更改为 SSL 套接字,则无法完成握手:https://blogs.oracle.com/lmalventosa/entry/using_the_ssl_tls_based 因此,我将可激活服务器的构造函数从 到 然后,我按照以下指南创建了一个密钥库和一个信任库: