Java遇到PKIX path building failed错误的解决办法
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错误的解决办法的更多相关文章
- java 使用https协议,cas认证PKIX path building failed错误解决方法
如果遇到的是 上图的异常,请继续往下看. linux 下 添加 证书 (1) 获取网站安全证书 xx.cer ( 详情见随笔 获取网站安全证书 ) (2) 将上面导出的证书导入java中的cacert ...
- 解决 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 ...
- 【问题记录】Java服务发起HTTPS请求报错:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException
问题报错 今天上线了我开发的一个OAuth2单点登录客户端的实现,在测试系统验证没问题,到生产环境由于单点登录服务端HTTPS协议,报错如下: I/O error on POST request fo ...
- 解决java使用https协议请求出现证书不信任问题(PKIX path building failed)
解决https请求时出现pkix path building fail错误 方法 将submail.cer 安全证书导入到java中的cacerts证书库 (sumail是我从https://api. ...
- 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 ...
- 解决PKIX(PKIX path building failed) 问题 unable to find valid certification path to requested target
最近在写java的一个服务,需要给远程服务器发送post请求,认证方式为Basic Authentication,在请求过程中出现了 PKIX path building failed: sun.se ...
- 解决CAS单点登录出现PKIX path building failed的问题
在一次调试中,出现了这个错误: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderExceptio ...
- 彻底弄懂“PKIX path building failed”问题
SSL的基础知识 SSL的全称是Secure Socket Layer.它的通信流程如下图所示,客户端与服务端会通过几次通信,通过非对称加密创建出一个加密密钥,用于以后的对称信息加密. 1,客户端明文 ...
- 解决 sun.security.validator.ValidatorException: PKIX path building failed
今天用java HttpClients写爬虫在访问某Https站点报如下错误: sun.security.validator.ValidatorException: PKIX path buildin ...
- 解决PKIX path building failed
起因 上周在生产环境部署时,把安全证书加到k8s-ingress中时发现报该错误 解决 找网上解决方案,因为这种问题相对比较少见,也没百度,直接谷歌,找到解决方案如下:https://stackove ...
随机推荐
- CH05_数组
CH05_数组 概述 定义:一组相同类型的数据的集合. 描述: 1.数组中的每个元素都是相同的数据类型 2.数组是由连续的内存位置组成的. 3.数组索引是从0开始 一维数组 语法: 1.数据类型 数组 ...
- FFmpeg开发笔记(四十八)从0开始搭建直播系统的开源软件架构
音视频技术的一个主要用途是直播,包括电视直播.电脑直播.手机直播等等,甚至在线课堂.在线问诊.安防监控等应用都属于直播系统的范畴.由于直播系统不仅涉及到音视频数据的编解码,还涉及到音视频数据的实时传 ...
- 使用 updateAppConfig 更新 Nuxt 应用配置
title: 使用 updateAppConfig 更新 Nuxt 应用配置 date: 2024/8/27 updated: 2024/8/27 author: cmdragon excerpt: ...
- Element ui 动态自定义表格单元格样式
最终实现效果 在Element UI 的文档中提到了用cell-style 方法来自定义单元格样式: 具体使用方法: 1. 在el-table 标签中添加 cell-style 绑定的自定义方法 2. ...
- PCSR:已开源,三星提出像素级路由的超分辨率方法 | ECCV 2024
基于像素级分类器的单图像超分辨率方法(PCSR)是一种针对大图像高效超分辨率的新方法,在像素级别分配计算资源,处理不同的恢复难度,并通过更精细的粒度减少冗余计算.它还在推断过程中提供可调节性,平衡性能 ...
- Java基础12
抽象类与抽象方法 abstract : 抽象的 abstract可以用来修饰:类.方法 abstract修饰类 > 此类称为抽象类 > 抽象类不能实例化 > 抽象类中是包含构造器的, ...
- Chrome 浏览器远程调试 【转】
Chrome 浏览器按F12,可以调试JS,分析HTTP包等.但是有时候需要远程调试. 比如,某个EXE它内部嵌套了浏览器的话,可以想办法打开它的远程调试功能,然后在外部连到这个地址,就能分析它的ht ...
- Coursera self-driving2, State Estimation and Localization Week3, GNSS IMU for pose estimation
如何表示旋转?三种方法 1. rotation matrix 2. unit quaternions 四元数 3. Euler angles 4. compare 坐标系 ECIF - Earth-C ...
- 深度学习学习率(Learning Rate)lr理解
现在是2024年4月23日13:54,在看代码了,嗯,不能逃避,逃避可耻,会痛苦,看不懂多看几遍多写一下就好了,不能逃避了哈,一点一点来就是了,我还有救. 如何理解深度学习中的学习率(Learning ...
- TypeScript – Decorator 装饰器
前言 TypeScript 5.0 之后就可以使用正真的 JS Decorator 了, 从前 experiment 的版本依然可用, 但是不建议继续用, 因为差很远, 一起用会混乱. Decorat ...