当前位置: 首页 > news >正文

JavaFX 报错 Received fatal alert: handshake_failure

 我写的JavaFX 程序, 我在JDK11 JDK17 JDK21 这些版本 <打包后> 运行下面的代码,全部都会报错

protected void onHelloButtonClick() {try{HttpClient client = HttpClient.newHttpClient();HttpRequest request = HttpRequest.newBuilder().uri(URI.create("https://xxxxxxxxxxx/bapi/c2c/v2/friendly/c2c/user/profile-and-ads-list?userNo=s4a4d8e35bf0f398ba60ed1429f0d964a")).build();HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());welcomeText.setText("Status Code: " + response.body());}catch (Throwable e){e.printStackTrace();StringWriter sw = new StringWriter();e.printStackTrace(new PrintWriter(sw));String stackTrace = sw.toString();welcomeText.setText(stackTrace);}}
错误是  : 
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failureat java.base/sun.security.ssl.Alert.createSSLException(Unknown Source)at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source)at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source)at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source)at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source)at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source)at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source)at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source)at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source)at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source)at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader.unwrapBuffer(Unknown Source)at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader.processData(Unknown Source)at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader$ReaderDownstreamPusher.run(Unknown Source)at java.net.http/jdk.internal.net.http.common.SequentialScheduler$LockingRestartableTask.run(Unknown Source)at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(Unknown Source)at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(Unknown Source)at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)... 1 more
 

只要是HTTPS 协议就报错,包括发邮件SMTP 协议 !!!
 

恶心啊,查了两天, 大部分都说是 TLS 协议支持差异  要设置 TLS1.2  TLS1.3  
对我没用!!!
还查到说 打包后的JRE  不包含   jdk.crypto.ec 模块导致,但是我也不知道怎么去设置

最后,JDK升级到 23.0.2   问题解决 
啥也没干,一样的代码,   正常运行!

还有!!!
必须要模块化不能删除  module-info.java    ,  不然报错找不到 http客户端 的类 

结束

http://www.dtcms.com/a/244160.html

相关文章:

  • 容器化部署案例一wordpress
  • 深度解读云防火墙(WAF):守护网络安全的智能卫士
  • react-markdown在React的使用示例
  • MCGS和1200plc变量表格式编辑
  • React 元素的生命周期
  • 串扰的烦恼(Xtalk)
  • scons: *** [***\SConscript] ValueError : unsupported pickle protocol: 4
  • 基础数论一一同余定理
  • Asp.Net Core SignalR导入数据
  • VAS1085Q奇力科技LED驱动芯片车规级线性芯片
  • 8.3.1_冒泡排序
  • AI的发展过程:深度学习中的自然语言处理(NLP);大语言模型(LLM)详解;Transformer 模型结构详解;大模型三要素:T-P-G 原则
  • 《HarmonyOSNext弹窗:ComponentContent动态玩转企业级弹窗》
  • 告别excel:AI 驱动的数据分析指南
  • CentOS7自带的yum依然无法联网到官方源
  • 【C/C++】怎样设计一个合理的函数
  • 相机--单目相机
  • 7. 整数反转
  • Linux 内核 Slab 分配器核心组件详解
  • 基于51单片机和8X8点阵屏、独立按键的跳跃躲闪类小游戏
  • 如何在同一台电脑上安装并运行多个版本的 IntelliJ IDEA
  • xilinx的GT配置说明(一)
  • 【考研数学:高数6】一元函数微分学的应用(二)——中值定理、微分等式和微分不等式
  • AT2659低噪声放大器芯片
  • [KCTF]rev_babyrev
  • 永磁同步电机控制算法--抗饱和PI
  • C#winform画图代码记录
  • 基于地形数据计算山体阴影
  • YOLO-FireAD:通过混合注意力与双池化融合实现高精度实时火灾检测
  • 专题:2025中国游戏科技发展白皮书报告汇总解读|附130+份报告PDF汇总下载