您的位置:首页 > 产品设计 > UI/UE

解决错误:unable to find valid certification path to requested target

2017-02-24 17:28 736 查看

现象分析

今天的小目标是通过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 即可!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐