SSLHandshakeException:握手期间远程主机关闭连接

2024-04-20

论坛上充斥着这个问题,但我找不到解决方案。 我尝试连接 WS 但没有成功。 我尝试更新 cacerts 文件,但没有效果。

日志是:

Allow unsafe renegotiation: false
Allow legacy hello messages: true
Is initial handshake: true
Is secure renegotiation: false
%% No cached client session
*** ClientHello, TLSv1
RandomCookie:  GMT: 1507108654 bytes = { 133, 135, 81, 148, 186, 186, 146, 23, 28, 240, 158, 152, 139, 167, 209, 225, 54, 253, 112, 118, 61, 112, 140, 214, 149, 198, 197, 219 }
Session ID:  {}
Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
Compression Methods:  { 0 }
***
[write] MD5 and SHA1 hashes:  len = 75
0000: 01 00 00 47 03 01 5A D5   A7 2E 85 87 51 94 BA BA  ...G..Z.....Q...
0010: 92 17 1C F0 9E 98 8B A7   D1 E1 36 FD 70 76 3D 70  ..........6.pv=p
0020: 8C D6 95 C6 C5 DB 00 00   20 00 04 00 05 00 2F 00  ........ ...../.
0030: 33 00 32 00 0A 00 16 00   13 00 09 00 15 00 12 00  3.2.............
0040: 03 00 08 00 14 00 11 00   FF 01 00                 ...........
http-8080-1, WRITE: TLSv1 Handshake, length = 75
[Raw write]: length = 80
0000: 16 03 01 00 4B 01 00 00   47 03 01 5A D5 A7 2E 85  ....K...G..Z....
0010: 87 51 94 BA BA 92 17 1C   F0 9E 98 8B A7 D1 E1 36  .Q.............6
0020: FD 70 76 3D 70 8C D6 95   C6 C5 DB 00 00 20 00 04  .pv=p........ ..
0030: 00 05 00 2F 00 33 00 32   00 0A 00 16 00 13 00 09  .../.3.2........
0040: 00 15 00 12 00 03 00 08   00 14 00 11 00 FF 01 00  ................
http-8080-1, received EOFException: error
http-8080-1, handling exception: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
http-8080-1, SEND TLSv1 ALERT:  fatal, description = handshake_failure
http-8080-1, WRITE: TLSv1 Alert, length = 2
[Raw write]: length = 7
0000: 15 03 01 00 02 02 28                               ......(
http-8080-1, called closeSocket()
http-8080-1, called close()
http-8080-1, called closeInternal(true)

谢谢你的帮助


最有可能的是服务器已禁用 TLS 1.0(并且您正在谈论 TLS 1.0,如序列字节中所示)47 03 01 5A),或者正在等待不存在的 SNI 扩展。

关于 Java 6,只有 6u111 允许比 TLS 1.0 更好的协议 (TLS 1.1),而 6u121 将允许 TLS 1.2。看看参考 https://docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#SupportClasses。因为TLS 版本不容忍问题,它仍然是不够的,只有系统属性才能让它永远可用,如发行说明 http://www.oracle.com/technetwork/java/javase/overview-156328.html#6u115-b32 :

TLS v1.2 现在是此版本的 TLS 协议选项。默认情况下, TLSv1.0 将仍然是客户端套接字上默认启用的协议。

因此,需要尝试几个系统属性:

  • -Djdk.tls.client.protocols="TLSv1.2"(先决条件:6u121 / 7u95)
  • -Dhttps.protocols="TLSv1.2"如果您的代码使用 HttpsURLConnection

Your 客户您好格式正确,但不包含任何扩展名(特别是 SNI)。这就是为什么它看起来这么短(字节 = 80)。默认情况下,SNI 从 6u121 开始启用(如果我是对的)。我认为这两个原因都应该通过适当的 Java 版本来解决。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SSLHandshakeException:握手期间远程主机关闭连接 的相关文章

  • Java Runtime.getRuntime().freeMemory() 问题

    我搜索并看到了一些线程 但没有一个能够解决我遇到的具体问题 我正在尝试使用以下方式监视我的内存使用情况Runtime getRuntime freeMemory Runtime getRuntime maxMemory and Runtim
  • Spring Data JPA 选择不同

    我有一个情况 我需要建立一个select distinct a address from Person a 其中地址是 Person 内的地址实体 类型的查询 我正在使用规范动态构建我的 where 子句并使用findAll Specifi
  • 是否可以使用 Flying Saucer (XHTML-Renderer) 将 css 解析为类路径资源?

    我正在尝试将资源打包到 jar 中 但我无法让 Flying Saucer 在类路径上找到 css 我无法轻松构建 URL 来无缝解决此问题 https stackoverflow com questions 861500 url to l
  • 如何将 Mat (opencv) 转换为 INDArray (DL4J)?

    我希望任何人都可以帮助我解决这个任务 我正在处理一些图像分类并尝试将 OpenCv 3 2 0 和 DL4J 结合起来 我知道DL4J也包含Opencv 但我认为它没什么用 谁能帮我 如何转换成 INDArray 我尝试阅读一些问题here
  • 使用 JUnit 时,有没有办法验证测试方法中是否调用了 try/catch 指令的 Catch 部分?

    例如 如果我想测试以下课程 public class SomeClass public void someMethod try Some code where comething could go wrong catch Exception
  • ConcurrentHashMap 内部是如何工作的?

    我正在阅读有关 Java 并发性的 Oracle 官方文档 我想知道Collection由返回 public static
  • 需要使用 joda 进行灵活的日期时间转换

    我想使用 joda 解析电子邮件中的日期时间字符串 不幸的是我得到了各种不同的格式 例如 Wed 19 Jan 2011 12 52 31 0600 Wed 19 Jan 2011 10 15 34 0800 PST Wed 19 Jan
  • 套接字的读写如何同步?

    我们创建一个套接字 在套接字的一侧有一个 服务器 在另一侧有一个 客户端 服务器和客户端都可以向套接字写入和读取 这是我的理解 我不明白以下事情 如果服务器从套接字读取数据 它在套接字中是否只看到客户端写入套接字的内容 我的意思是 如果服务
  • 设置 verify_certs=False 但 elasticsearch.Elasticsearch 因证书验证失败而引发 SSL 错误

    self host KibanaProxy 自我端口 443 self user 测试 self password 测试 我需要禁止证书验证 使用选项时它与curl一起使用 k在命令行上 但是 在使用 Elasticsearch pytho
  • 使用 Guice 优化注册表

    你好 今天思考了一种优化 有一些疑问 语境 我正在使用 Guice 2 进行 Java 开发 在我的网络应用程序中 我有一个转换器注册表 可以即时转换为某种类型 转换器描述如下 public class StringToBoolean im
  • Java:如何为山区时间创建 TimeZone 对象?

    必须不禁用夏令时 嗯 在这个清单 http en wikipedia org wiki List of tz database time zones在 zoneinfo 时区名称中 有很多声称是 山地时间 找到最适合您想要的那个 然后使用它
  • Freemarker 和 Struts 2,有时它计算为序列+扩展哈希

    首先我要说的是 使用 Struts2 Freemarker 真是太棒了 然而有些事情让我发疯 因为我不明白为什么会发生这种情况 我在这里问是因为也许其他人有一个想法可以分享 我有一个动作 有一个属性 说 private String myT
  • HashMap 值需要不可变吗?

    我知道 HashMap 中的键需要是不可变的 或者至少确保它们的哈希码 hashCode 不会改变或与另一个具有不同状态的对象发生冲突 但是 HashMap中存储的值是否需要与上面相同 为什么或者为什么不 这个想法是能够改变值 例如在其上调
  • 如何在 Java 中创建接受多个值的单个注释

    我有一个名为 Retention RetentionPolicy SOURCE Target ElementType METHOD public interface JIRA The Key Bug number JIRA referenc
  • java库维护数据库结构

    我的应用程序一直在开发 所以偶尔 当版本升级时 需要创建 更改 删除一些表 修改一些数据等 通常需要执行一些sql代码 是否有一个 Java 库可用于使我的数据库结构保持最新 通过分析类似 db structure version 信息并执
  • 如何重新启动死线程? [复制]

    这个问题在这里已经有答案了 有哪些不同的可能性可以带来死线程回到可运行状态 如果您查看线程生命周期图像 就会发现一旦线程终止 您就无法返回到新位置 So 没有办法将死线程恢复到可运行状态 相反 您应该创建一个新的 Thread 实例
  • 如何使用play框架上传多个文件?

    我在用play framework 2 1 2 使用java我正在创建视图来上传多个文件 我的代码在这里 form action routes upload up enctype gt multipart form data
  • 在浏览器刷新中刷新检票面板

    我正在开发一个付费角色系统 一旦用户刷新浏览器 我就需要刷新该页面中可用的统计信息 统计信息应该从数据库中获取并显示 但现在它不能正常工作 因为在页面刷新中 java代码不会被调用 而是使用以前的数据加载缓存的页面 我尝试添加以下代码来修复
  • 洪水填充优化:尝试使用队列

    我正在尝试创建一种填充方法 该方法采用用户指定的初始坐标 检查字符 然后根据需要更改它 这样做之后 它会检查相邻的方块并重复该过程 经过一番研究 我遇到了洪水填充算法并尝试了该算法 它可以工作 但无法满足我对 250 x 250 个字符的数
  • Java EE 目录结构

    我对以下教程有疑问 http www mkyong com jsf2 jsf 2 internationalization example http www mkyong com jsf2 jsf 2 internationalizatio

随机推荐

  • 使用张量流实现 RBM

    我正在尝试用tensorflow实现RBM 代码如下 rbm py An rbm implementation for TensorFlow based closely on the one in Theano import tensorf
  • 在 iOS 设备上使用网络链接调节器

    如何直接在我的 iOS 设备上模拟各种网络状况 我知道这在 Mac 上是可能的 这要归功于网络链路调节器 http mattgemmell com 2011 07 25 network link conditioner in lion iO
  • Express-Session、Connect-Redis 和 einaros/ws

    我似乎在让 Express express session connect redis 和 websockets ws 很好地协同工作时遇到了一些麻烦 这很可能与我对这些模块和编码的总体理解还有限有关 这里的大部分代码取自存储库中的相应示例
  • 不要从序列化的 DateTime 对象中序列化或删除 TimeZone

    我收到的一个奇怪的任务是使用 XML 序列化来序列化一个大对象 该对象包含多个嵌套的 UserDefined 类 以及多个 DateTime 字段 日期时间数据的要求是它必须始终显示在最初创建和设置数据的用户的时区中 因此 我无法使用 UT
  • Objective C / iPhone:如何提取当前区域的实际 unicode 日期格式字符串?

    根据该网站 http iosdevelopertips com cocoa date formatter examples html http iosdevelopertips com cocoa date formatter exampl
  • 通过 SignalR 在 IE 中缺少原型方法

    我遇到了一个问题 即仅在 IE 中并且仅当数组通过 SignalR 时才处理原型方法消失 在本例中为 Array prototype 方法 我写了一个小 愚蠢但简单的概念验证网络应用程序来演示这个问题 代码全部在下面 请注意 当您单击 更新
  • 如何在 reStructuredText / Sphinx 中创建浮动图形?

    我想要一个带有文字的图形 这就是我要说的 Installation of Optional Accessories warning Never plug in or unplug a Hand Robot or a Grasp Sensor
  • TS2611:“foo”被定义为类“A”中的属性,但在“B”中作为访问器被覆盖

    我在 Angular 应用程序中遇到 Typescript 编译错误 以下是示例代码和错误消息 请您指导我抑制这个错误 我认为根据 Javascript 这段代码是正确的 error TS2611 foo is defined as a p
  • 如何在 EF DbFirst 中扩展 ASP IdentityRole

    如何扩展 IdentityRoles 以使用扩展的 AspNetRoles 表 在 ASP MVC 5 中 使用 Identity 2 2 我看了here https stackoverflow com q 40336574 6085193
  • 将异常从 Objective-C 引发回 Javascript

    JavascriptCore 允许我们通过 JSExport 协议将 Objective C 类公开给 javascript 比方说 在公开的 Objective C 类的方法之一中 遇到了需要引发异常的情况 有没有办法创建所述异常并引发它
  • 在 Android 中使用 Asynctask 显示进度条

    我正在尝试显示进度条 我是一名安卓初学者 当我按下按钮时 任务应该在后台运行 但它不显示进度栏 什么是问题 我无法理解 请帮我 主要活动 package com example shikkok services import java ut
  • 添加 Windows Common Controls 6.0 时对象库未注册

    我正在尝试在 Windows 7 32 位计算机上安装 Visual Studio 6 操作系统安装是从裸机进行的 我按照提到的说明进行操作here http www fortypoundhead com showcontent asp a
  • 如何检查png文件是否是减压炸弹

    我正在尝试将图像上传到网站 我发现在允许上传时可能会发生这些减压炸弹攻击png文件 和其他一些 由于我要更改上传的图像 我想确保我不会成为这次攻击的受害者 因此 当涉及到检查是否png文件是一个炸弹 我可以读取文件的标题并确保宽度和高度不超
  • 为什么我的递归阶乘方法总是返回 0? [复制]

    这个问题在这里已经有答案了 我创建了一个递归方法来计算数字的阶乘 但是 它总是返回 0 我不明白为什么 我在下面提供了我的代码 public class projectTwenty public static void main Strin
  • 在其他列定义的窗口内累积应用

    我试图将函数累积地应用于由 开始 和 完成 列定义的窗口内的值 因此 开始 和 完成 定义了值处于 活动 的时间间隔 对于每一行 我想获得当时所有 活动 值的总和 这是一个 暴力 示例 它实现了我想要的功能 是否有更优雅 更快或更有效的内存
  • store.sync() 回调

    store sync 有回调吗 我正在尝试这样做 store sync function alert 1 但它不起作用 这家店是当地的一家店 sync 没有 回调 为了实现此行为 您需要监听存储的写入事件 查看这个解决方案 https st
  • 如何在 awk 中对模式进行 if else 匹配

    我尝试过以下命令 awk search pattern print 1 如何编写上述命令的 else 部分 经典方式 https www gnu org software gawk manual gawk html If Statement
  • React Native 中的响应式图像

    我从 Facebook API 获取一些图像 我想将它们显示为响应式 宽度为 100 高度为自动 问题似乎是 React Native 裁剪了我的图像 我尝试了这些解决方案 解决方案1 https stackoverflow com a 3
  • iOS:同时使用 WiFi 和移动数据

    Setup 我的项目涉及一个 WiFi 相机 它创建一个 WiFi 热点 为了在相机上流式传输视频预览 浏览媒体 用户需要连接到相机的热点 Problem 用户无法同时使用 3G 4G 上的蜂窝数据 因为 iOS 设备已通过 WiFi 连接
  • SSLHandshakeException:握手期间远程主机关闭连接

    论坛上充斥着这个问题 但我找不到解决方案 我尝试连接 WS 但没有成功 我尝试更新 cacerts 文件 但没有效果 日志是 Allow unsafe renegotiation false Allow legacy hello messa