当前位置: 首页 > 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客户端 的类 

结束

相关文章:

  • 容器化部署案例一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点阵屏、独立按键的跳跃躲闪类小游戏
  • 如何在国外网站上做外贸/抖音网络营销案例分析
  • 上海做哪些行业赚钱/最好的网站优化公司
  • 龙岗区网站建设/网站关键词排名批量查询
  • 十八把网站做扇子/赣州网站建设公司
  • 网站域名有哪些/网络小说排行榜
  • 创意响应式网站建设/百度官方首页