Java调用HTTPS可能出现如下错误:

PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target。

测试验证

测试是否会出现本问题可以使用如下命令:

java SSLPoke www.xmcic.cn 443

SSLPoke.class文件可以在本站下载。下载链接

具体解决思路有2种:

1、修改Java代码,信任所有证书。

因为本次不适合修改代码,此办法跳过。

2、将证书添加到运行服务器运行环境的信任列表。

2.1、确定工具可以使用和cacerts文件位置

  • Java 使用了一种叫 keystore 的文件来存储证书 (默认是位于 $JAVA_HOME/lib/security/cacerts ) 。如果没有请全盘查找一下,我实际情况是位于:$JAVA_HOME/jre/lib/security/cacerts
  • 该keystore文件使用 keytool 工具去管理 (该工具默认位于 $JAVA_HOME/bin/keytool )。

注意:keystore文件受密码保护。生成新的keystore文件时,会要求你输入一个新密码;而当访问一个已有的 keystore 文件时,会要求你验证密码。

一般java cacerts的默认密码为

changeit

通过下面的命令查看现有证书并验证密码。

keytool -list -keystore $JAVA_HOME/lib/security/cacerts

2.2、得到目标crt证书

Windows环境命令

使用浏览器打开网站,查看证书“详细信息”点“导出

2.3、导入证书

使用下列命令导入证书

keytool -import -alias <证书别名> -keystore $JAVA_HOME/jre/lib/security/cacerts -file xmcic.cn.crt

如果需要密码,请尝试默认密码

changeit

如果别名已经存在,使用如下命令删除后重新添加

keytool -delete -alias <证书别名> -keystore $JAVA_HOME/jre/lib/security/cacerts

Java遇到PKIX path building failed错误的解决办法的更多相关文章

  1. java 使用https协议,cas认证PKIX path building failed错误解决方法

    如果遇到的是 上图的异常,请继续往下看. linux 下 添加 证书 (1) 获取网站安全证书 xx.cer ( 详情见随笔 获取网站安全证书 ) (2) 将上面导出的证书导入java中的cacert ...

  2. 解决 java 使用ssl过程中出现"PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target"

    今天,封装HttpClient使用ssl时报一下错误: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorExc ...

  3. 【问题记录】Java服务发起HTTPS请求报错:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException

    问题报错 今天上线了我开发的一个OAuth2单点登录客户端的实现,在测试系统验证没问题,到生产环境由于单点登录服务端HTTPS协议,报错如下: I/O error on POST request fo ...

  4. 解决java使用https协议请求出现证书不信任问题(PKIX path building failed)

    解决https请求时出现pkix path building fail错误 方法 将submail.cer 安全证书导入到java中的cacerts证书库 (sumail是我从https://api. ...

  5. java程序中访问https时,报 PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

    在java中使用https访问数据时报异常: Caused by: sun.security.validator.ValidatorException: PKIX path building fail ...

  6. 解决PKIX(PKIX path building failed) 问题 unable to find valid certification path to requested target

    最近在写java的一个服务,需要给远程服务器发送post请求,认证方式为Basic Authentication,在请求过程中出现了 PKIX path building failed: sun.se ...

  7. 解决CAS单点登录出现PKIX path building failed的问题

    在一次调试中,出现了这个错误: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderExceptio ...

  8. 彻底弄懂“PKIX path building failed”问题

    SSL的基础知识 SSL的全称是Secure Socket Layer.它的通信流程如下图所示,客户端与服务端会通过几次通信,通过非对称加密创建出一个加密密钥,用于以后的对称信息加密. 1,客户端明文 ...

  9. 解决 sun.security.validator.ValidatorException: PKIX path building failed

    今天用java HttpClients写爬虫在访问某Https站点报如下错误: sun.security.validator.ValidatorException: PKIX path buildin ...

  10. 解决PKIX path building failed

    起因 上周在生产环境部署时,把安全证书加到k8s-ingress中时发现报该错误 解决 找网上解决方案,因为这种问题相对比较少见,也没百度,直接谷歌,找到解决方案如下:https://stackove ...

随机推荐

  1. SeaTunnel 发布成为 Apache 顶级项目后首个版本 2.3.2,进一步提高 Zeta 引擎稳定性和易用性

    近日,Apache SeaTunnel 正式发布 2.3.2 版本.此时距离上一版本 2.3.1 发布已有两个多月,期间我们收集并根据用户和开发者的反馈,在 2.3.2 版本中对 SeaTunnel ...

  2. 在线flex布局----自己写的一个flex布局的小玩意,需要的私聊加关注0.0

  3. springboot解析自定义yml

    springboot解析自定义yml 在实际项目开发中我们经常需要用到一些自定义配置,并且希望单独配置,方便维护,现在介绍下方式: 方式一手动加载 对于一些不变动的配置,写死在项目中维护,如下 然后在 ...

  4. 电商API接口应该如何使用?

    从定义上看,API接口是指预先定义的一组规则和协议,允许不同的软件应用之间相互通信和交换数据. 目前,市场中电商行业用到API接口的场景较多,电商API接口则是专门针对电子商务应用场景所提供的API, ...

  5. 录音转文字SDK哪家强?

    最近在做一款录音App,有一个模块是录音转文字功能,于是对比了市面上常见的API,国内做的比较大的主要有讯飞.腾讯.阿里.百度.华为. 讯飞 讯飞在国内做语音SDK是做的比较早的,翻译出来的准确率挺不 ...

  6. 小tips:使用babel-upgrade从babel6升级babel7

    基础使用 完整使用参考地址:https://www.npmjs.com/package/babel-upgrade 使用方式: # npx lets you run babel-upgrade wit ...

  7. webpack笔记-webpack基础用法(二)

    webpack 本质上是一个打包工具,它会根据代码的内容解析模块依赖,帮助我们把多个模块的代码打包. 一切文件:JavaScript.CSS.SCSS.图片.模板,在 Webpack 眼中都是一个个模 ...

  8. STEP: 用于多变量时间序列预测的预训练增强时空图神经网络《Pre-training Enhanced Spatial-temporal Graph Neural Network for Multivariate Time Series Forecasting》(时间序列预测)

    2023年12月27日,看一篇老师给的论文. 论文:Pre-training Enhanced Spatial-temporal Graph Neural Network for Multivaria ...

  9. 城市时空预测的统一数据管理和综合性能评估 [实验、分析和基准]《Unified Data Management and Comprehensive Performance Evaluation for Urban Spatial-Temporal Prediction [Experiment, Analysis & Benchmark]》

    2023年11月1日,还有两个月,2023年就要结束了,希望在结束之前我能有所收获和进步,冲呀,老咸鱼. 论文:Unified Data Management and Comprehensive Pe ...

  10. C++11新初始化方法 使用{}初始化变量

    列表初始化 在C++11及以后的版本中,使用{}来初始化变量是一种新的初始化方法,称为列表初始化(List Initialization).这种初始化方法可以用来初始化内置类型.自定义类型以及聚合类型 ...