最近在公司遇到访问https请求,JDK返回异常信息的问题。返回如下:

java.lang.Exception: java.lang.Exception: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

通过查找网上各种资料, 需要将服务器的安全证书添加到JVM的配置中。

在JVM中缺省的证书存放路径如下 $JAVA_HOME/jre/lib/security/cacerts, 我们需要把服务器的证书添加到这个文件中。

在网上检索了一下, 发现要手工获取服务器端证书还是比较困难,需要在借助浏览器提供的证书导出功能, 而且这样做还特别容易出错。后来发现在Github上面有一个现成的证书安装Java程序可以直接使用。 于是记录下了具体的使用步骤:

1. 下载InstallCert.java。下载地址:

wget https://raw.githubusercontent.com/escline/InstallCert/master/InstallCert.java

2.编译代码

javac InstallCert.java

 3.执行代码

java InstallCert [--proxy=proxyHost:proxyPort] <host>[:port]

点击回车

4.从创建的jsseccerts密钥库中提取证书

keytool -exportcert -alias [host]-1 -keystore jssecacerts -storepass changeit -file [host].cer

 5.将证书导入系统密钥库

sudo keytool -importcert -alias [host] -keystore [path to system cacerts] -storepass changeit -file [host].cer

注意:从java11开始,可以用-cacerts,不使用路径

Note since Java 11, you can use the -cacerts flag instead of -keystore [cacerts path]

sudo keytool -importcert -alias [host] -cacerts -storepass changeit -file [host].cer

参考资料

如何在JDK中添加安全证书 - 知乎

https://github.com/escline/InstallCert#access-server-and-retrieve-certificate-accept-default-certificate-1

下载安全证书到jdk中的cacerts证书库相关推荐

  1. 如何把安全证书导入到java中的cacerts证书库(转)

    如何把安全证书导入到java中的cacerts证书库 提示:  javax.net.ssl.SSLHandshakeException: sun.security.validator.Validato ...

  2. java 防止证书导出_如何把安全证书导入到java中的cacerts证书库

    在项目开发中,有时会遇到与SSL安全证书导入打交道的,如何把证书导入java中的cacerts证书库呢? 其实很简单,方法如下: 每一步:进入某个https://www.xxx.com开头的网站,把要 ...

  3. java 导入 证书_如何把安全证书导入到java中的cacerts证书库

    在项目开发中,有时会遇到与SSL安全证书导入打交道的,如何把证书导入java中的cacerts证书库呢? 其实很简单,方法如下: 每一步:进入某个https://www.xxx.com开头的网站,把要 ...

  4. 安全证书导入到java中的cacerts证书库

    提示: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path buildi ...

  5. java安装证书_如何把安全证书导入到java中的cacerts证书库

    展开全部 把安全证书导入到java中的62616964757a686964616fe78988e69d8331333339663436cacerts证书库步骤: 1.先下载证书,然后使用命令导入 2. ...

  6. 将Fiddler的服务器证书导入到Java的cacerts证书库里

    我在将Fiddler作为Java应用的代理时,在使用Java代码连接Fiddler时遇到了SSL证书相关的错误: liavax.net.ssl. SSLHandshakeException: sun. ...

  7. ldap接触(1)之如何把安全证书导入到java中的cacerts证书库

    2019独角兽企业重金招聘Python工程师标准>>> 导入过程如下: 打开doc窗口:运行-cmd 再用cd进入到%JAVA_HOME%\jre\lib\security这个目录下 ...

  8. 将https安全证书导入jdk中

    添加https安全证书 添加https安全证书 生成证书 导出证书 将证书导入jdk中 查看添加到jdk中的所有证书 添加https安全证书 以下是我在linux上安装mysql5.7版本的步骤以及遇 ...

  9. ubuntu下 将证书导入java的cacerts证书库

    首先,说下java的cacerts证书库: JAVA_HOME目录下的jre的cacerts 主要的步骤有4个: 生成证书 导出证书 导入证书 生成证书(此处CN的值为localhost或者你想设置的 ...

最新文章

  1. Android AlertDialog设置宽度显示不正常的问题
  2. 解密Elasticsearch技术,腾讯开源的万亿级分布式搜索分析引擎
  3. golang之包和锁的机制
  4. Ajax的用法之JQuery
  5. 【矩阵】概念的理解 —— span、基
  6. HDFS文件目录操作代码
  7. 最近看了两本低代码的书
  8. 【渝粤教育】 广东开放大学 10548_金融学k1_21秋考试
  9. sqllite能连接mysql_SQLLite 可以通过SQL语言来访问的文件型SQL数据库
  10. mysql树状查询优化_解析SQL中树形分层数据的查询优化
  11. Vue介绍---vue工作笔记0001
  12. 己所不欲,勿施于人的意思,这句话出自哪里?
  13. 【目标检测】VOC2007数据集介绍
  14. python调用java之Jpype异常机制
  15. lottie-动画转代码神器
  16. 宝宝生活点滴(12.3)
  17. 非线性回归算法--学习笔记
  18. bzoj1123 BLO
  19. 96. 通用字段修改器
  20. 电子计算机技术的发展情况,电子信息技术的应用特点与未来发展趋势

热门文章

  1. 四元数解算欧拉角MATLAB程序
  2. 计算机网络第一章概述总结知识点
  3. Python实现模拟按键和改键精灵
  4. 船舶驾驶虚拟仿真模拟训练系统软件
  5. hikaricp和mysql驱动_配置HikariCP连接池
  6. 第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛前十题(能力有限)
  7. cocoapods的缺点
  8. STM 32的USB时钟的配置
  9. javaswing实现扫雷游戏
  10. 台达DVP PLC与3台台达VFD-M变频器通讯程序