cc.loader.load 加载远程资源时, url不支持 https(android 5.x)

  • Creator 版本:1.6.2

  • 目标平台:Android

  • 详细报错信息,包含调用堆栈:
    W/System.err( 7973): javax.net.ssl.SSLException: Certificate for <s2.pocketchess.cn> doesn’t match any of the subject alternative names: [img.ucdl.pp.uc.cn, alissl.ucdl.pp.uc.cn, oss.ucdl.pp.uc.cn, iscsi.ucdl.pp.uc.cn, slient.ucdl.pp.uc.cn, cdn.osupdateservice.yunos.com]
    W/System.err( 7973): at cz.msebera.android.httpclient.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java)
    W/System.err( 7973): at cz.msebera.android.httpclient.conn.ssl.BrowserCompatHostnameVerifier.verify(BrowserCompatHostnameVerifier.java)
    W/System.err( 7973): at cz.msebera.android.httpclient.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java)
    W/System.err( 7973): at cz.msebera.android.httpclient.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java)
    W/System.err( 7973): at cz.msebera.android.httpclient.conn.ssl.SSLSocketFactory.verifyHostname(SSLSocketFactory.java)
    W/System.err( 7973): at cz.msebera.android.httpclient.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java)
    W/System.err( 7973): at cz.msebera.android.httpclient.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java)
    W/System.err( 7973): at cz.msebera.android.httpclient.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java)
    W/System.err( 7973): at cz.msebera.android.httpclient.conn.scheme.SchemeSocketFactoryAdaptor.connectSocket(SchemeSocketFactoryAdaptor.java)
    W/System.err( 7973): at cz.msebera.android.httpclient.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java)
    W/System.err( 7973): at cz.msebera.android.httpclient.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java)
    W/System.err( 7973): at cz.msebera.android.httpclient.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java)
    W/System.err( 7973): at cz.msebera.android.httpclient.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java)
    W/System.err( 7973): at cz.msebera.android.httpclient.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java)
    W/System.err( 7973): at cz.msebera.android.httpclient.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java)
    W/System.err( 7973): at cz.msebera.android.httpclient.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java)
    W/System.err( 7973): at com.loopj.android.http.AsyncHttpRequest.makeRequest(AsyncHttpRequest.java)
    W/System.err( 7973): at com.loopj.android.http.AsyncHttpRequest.makeRequestWithRetries(AsyncHttpRequest.java)
    W/System.err( 7973): at com.loopj.android.http.AsyncHttpRequest.run(AsyncHttpRequest.java)
    W/System.err( 7973): at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
    W/System.err( 7973): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    W/System.err( 7973): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    W/System.err( 7973): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    W/System.err( 7973): at java.lang.Thread.run(Thread.java:818)

  • 重现方式:
    https://s2.pocketchess.cn/rebot/6.jpg
    cc.loader.load 这个图片在 Android5.0上无法加载

  • 手机型号 :android 5.0,(6.0以上和 ios 是 ok)

@panda 麻烦帮忙看下
这是不支持 sni 么。为什么只有5.x 以下,有没有什么解决办法?

@dumganhar 麻烦帮忙看下。

搜索到之前 http://forum.cocos.com/t/creator1-4-5s-https-certificate-for-cdn-qiyimofang-com-doesnt-match-any-of-the-subject-alternative-names-ucd1-pp-uc-cn/44489/15
这个也没有解决。。。

楼主你解决了吗?我也遇到了同样的问题

安卓部分机子下载图片都这样在wifi下下载不行,要切换到4G不知道怎么解决

安卓代码
Cocos2dxDownloader.java
这个文件中, 使用的是 com.loopj.android.http.AsyncHttpClient; 做具体的 http请求,
但看代码, 好像只是 private AsyncHttpClient _httpClient = new AsyncHttpClient();
并没有设置 ssl 相关的参数,
据说是要这样的
//AsyncHttpClient asycnHttpClient = new AsyncHttpClient(); //请求http的方式
AsyncHttpClient asycnHttpClient = new AsyncHttpClient(true, 80, 443);//请求https的方式