出现场景
在使用Glide加载图片,使用多个测试机测试的时候发现有些手机不能加载出来
遇到一个下载图片的异常com.android.volley.error.NoConnectionError: javax.net.ssl.SSLHandshakeException: com.android.org.bouncycastle.jce.exception.ExtCertPathValidatorException: Could not validate certificate: current time: Sat Aug 15 05:14:42 GMT+08:00 1970, validation time: Fri Apr 05 23:15:55 GMT+08:00 2013
代码如下:
就是代码这么简单
Glide.with(this).load(welcomeBean.getImg()).into(ivWelcomeBg);
首先想到排除代码问题,其次是Glide框架问题毕竟其他的手机是能加载出来的,而且我也用Picasso对比了的不是Glide问题
最后通过查看日志发现这个图片的下载地址和其他正常的下载地址不一样(用的是知乎的开源的api),使用的是https协议,但我们以前的图片都是http协议
然后出现了这个问题,google了一下,这个异常说的是在校验证书的时候出现时间校验失败!打开手机看了下时间是1970年时间,然后,调整好手机时间即可正常下载。
这种情况很少出现的,所以做开发一定不要作………
有几位大牛提供了解决方案:
http://my.oschina.net/blackylin/blog/144136
http://www.eoeandroid.com/thread-161747-1-1.html
然后还有一篇关于https协议的好博文:
http://www.cnblogs.com/P_Chou/archive/2010/12/27/https-ssl-certification.html