FileDownload https 自签名证书问题 报错:CertPathValidatorException

一:前言

    项目安全升级,使用https协议,老板不出钱,只能使用自签名证书的方式,发现Filedownload 无法下载文件,报错:

javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. 大致意思:信任锚认证路径找不到。

二:问题分析

    自签名证书没有经过CA认证,肯定会抛此异常,没办法,谁让用的是自签名的证书呢, 只能先忽略SSL认证,开始找FileDownload忽略SSL验证的相关接口,百度一圈无果,难道没人遇到这样的问题吗?

三:解决方案:

    经过求助作者得到以下答案:


有思路了, 哐哐哐就是一顿干,实现了FileDownloadConnection的接口,写了一个自己的FileDownloadUrlConnection

满心欢喜的验证结果,结果不出意外, 没有生效。是我写的不对? 仔细查看lssues,发现了新大陆


作者自己有实现过FileDownloadUrlConnection, 使用的是okhttp(默认是httpurlconnection),赶紧拿来试试,先下载一个http的链接,叮!!!成功了。赶紧添加忽略SSL的代码,换成https 的链接试试,好的,成功。。

方案总结:

    1. 使用作者实现的OkHttp3Connection替换FileDownload的默认连接方式(httpurlconnection)

    2. 在创建okhttp实例的时候添加忽略SSL验证的代码

    3. 使用FileDownloader.setupOnApplicationOnCreate(this).connectionCreator(....)的方式注册FileDownload

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值