现在的位置: 首页 > 移动开发 > 正文

android 5.0 SSL Socket exception javax.net.ssl.SSLPeerUnverifiedException: No peer certificate

2019年09月09日 移动开发 ⁄ 共 1986字 ⁄ 字号 评论关闭

更新到最新版本的android 5.0版本 测试我的app,当我使用 api调用 Https 访问的时候报如下的错误.

javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
 
11-26 15:35:01.919: W/System.err(353):  at com.android.org.conscrypt.SSLNullSession.getPeerCertificates(SSLNullSession.java:104)
11-26 15:35:01.919: W/System.err(353):  at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:93)
11-26 15:35:01.919: W/System.err(353):  at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:388)
11-26 15:35:01.919: W/System.err(353):  at org.apache.http.impl.conn.DefaultClientConnectionOperator.updateSecureConnection(DefaultClientConnectionOperator.java:231)
11-26 15:35:01.919: W/System.err(353):  at org.apache.http.impl.conn.AbstractPoolEntry.layerProtocol(AbstractPoolEntry.java:302)
11-26 15:35:01.920: W/System.err(353):  at org.apache.http.impl.conn.AbstractPooledConnAdapter.layerProtocol(AbstractPooledConnAdapter.java:146)
11-26 15:35:01.920: W/System.err(353):  at org.apache.http.impl.client.DefaultRequestDirector.establishRoute(DefaultRequestDirector.java:654)
11-26 15:35:01.920: W/System.err(353):  at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:370)
11-26 15:35:01.920: W/System.err(353):  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
11-26 15:35:01.920: W/System.err(353):  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
11-26 15:35:01.920: W/System.err(353):  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
11-26 15:35:01.920: W/System.err(353):  at com.praxify.model.CallServer.makeHttpGetRequest(CallServer.java:1515)
android apache ssl ssl-certificate

这两天一直被该问题困扰,经过不懈的努力,终于让我定位到了问题所在,(不一定是通用的完美解决方案。)

android 5.0版本中 谷歌不信任 SHA1证书,即使设置了2016年到期也不行。  如果发现有上面的问题可以通过浏览器的连接情况来查看是不是证书问题,解决问题的方法很简单,只需要重新配置 SHA256  或者SHA1的证书即可,重新生成一个新的. 到期日期可以设置成2015年

我是在这里地址找到的解决方法,英文好的可以去看原文:https://code.google.com/p/android-developer-preview/issues/detail?id=1200

原文地址:http://www.itmmd.com/201412/239.html

by
萌萌的it人

抱歉!评论已关闭.