本文主要是介绍解决错误:unable to find valid certification path to requested target,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
现象分析
今天的小目标是通过Android Studio发布Library到私有仓库(公司私有仓库:https://maven.bingosoft.net ),然而,在最后执行uploadArchives(上传包)的时候突然报了如下错误:
unable to find valid certification path to requested target
从图中看出,大致原因是Android Studio在执行上传动作的时候,遇到了 SSL问题,目测是因为目标仓库是 https的协议,如下:
通常出现这种错误解决办法都是【往JDK里面导入证书】
解决办法
从网站上下载证书
推荐使用IE来导出cer证书,其他浏览器比较隐秘。个中细节不详述,请看下面:
证书导出后假设名字叫做 server.cer
通过keytool命令导入server.cer
keytool -import -file cerPath -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -alias server
其中cerPath是刚导出来的 server.cer 文件路径, -alias server 表示别名是 server 。
顺利的话可以看到如下信息,表示正常导入到 %JAVA_HOME% 里面:
重新执行uploadArchives
理论上来说,已经将证书导入JDK,应该正常执行才对,没想到依旧报文初的错误。郁闷良久,突然想起Android Studio 里面自带了JDK, 毕竟导入到 %JAVA_HOME% 是系统层面的。 打开 SDK Location,如笔者所想:
果真如此,Android Studio 推荐使用的是:
/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
于是乎,按照上面的步骤,将server.cer 导入到 这个JDK里面。
请注意图片上的红字,在Android Studio里面的JDK,默认的口令是 changeit ,不是 系统登录密码。最后别忘记确认:
重启Android Studio,执行 uploadArchives 即可!
这篇关于解决错误:unable to find valid certification path to requested target的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!