解决错误: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 即可!

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值