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数字证书不可信的异常。
不信,可以使用这条命令:
1 | keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts |
默认密码为: ‘changeit’
查阅一遍可信ca名单 ,你看看有没有GlobalSign
解决办法
解决办法也很简单,直接将被质疑的证书导入cacerts即可,这一点很多其他博客也说明过,但他们只关注了keytool的命令是如何来导入证书的,并没有跟读者说明该导入的证书如何去获取