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

本文解决了一个在Android 5.0上使用HTTPS时出现的SSL证书验证失败问题。通过重新配置SHA256或SHA1证书,并将证书有效期设置为2015年,成功解决了javax.net.ssl.SSLPeerUnverifiedException:Nopeercertificate异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

更新到最新版本的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人

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值