ValidatorException异常处理-PKIX path building failed

Maven下载依赖抛出一个ssl数字证书的异常:PKIX path building failed: SunCertPathBuilderException: unable to find valid certification path to requested target ,记录一下问题的前因后果即解决办法

问题原因

在我这篇博客中:Maven依赖下载失败的原因及解决方案 ,我将maven的仓库地址设置为 'http://maven.aliyun.com/nexus/content/groups/public' ,别看写着是http开头,实际访问,却是一个由GlobalSign Organization Validation CA颁发证书的https站点,而这个ca机构颁发的证书,在jre/lib/security的可信证书容器cacerts中是没有存放过的,所以报出ssl数字证书不可信的异常。

不信,可以使用这条命令:

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

默认密码为: 'changeit'

查阅一遍可信ca名单 ,你看看有没有GlobalSign

解决办法

解决办法也很简单,直接将被质疑的证书导入cacerts即可,这一点很多其他博客也说明过,但他们只关注了keytool的命令是如何来导入证书的,并没有跟读者说明该导入的证书如何去获取

获取被质疑的证书

  • 在mvn抛出PKIX path building failed: SunCertPathBuilderException的日志中,我们也能看到具体是哪一个镜像仓库地址的证书是不可信的,那么用chrome浏览器访问这个站点
  • 点击左上角的锁icon -> 证书 -> 详细信息 -> 复制到文件 -> 选择Base64编码的X.509格式,保存证书到本地目录
  • 获取证书结束,这里假设你的证书存放路径为 /tmp/caCert.cer

导入证书到cacerts

  • 执行以下命令
keytool -import -file /tmp/caCert.cer -keystore $JAVA_HOME/jre/lib/security/cacerts

  • 输入cacerts密码: changeit
  • 导入成功,结束

本文由博客一文多发平台 OpenWrite 发布!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值