当我使用Https而API调用时,我对Android L 5.0有异议。我正在跟踪异常.
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)发布于 2014-11-28 11:45:52
我也已经处理这个问题好几天了,最后我在这里发现了这个问题(但不是很好的解决方案)。问题是,从安卓5开始,谷歌就不信任2016年后到期的SHA1证书(你可以通过浏览器查看锁,看看这是否是你的情况)。对我来说,我们唯一能做的就是请求一个新的带有SHA256或SHA1证书的服务器证书。将于2015年届满。抱歉,我的英语
在这里也进行了讨论:https://code.google.com/p/android-developer-preview/issues/detail?id=1200
发布于 2014-11-29 05:24:07
在找到几天之后,我了解了API调用的volley,它帮助我们解决了这个问题,您可以参考volley来处理API调用。利布利布为我工作。
再找一个问题。
程序内计费中断,因为根据APK证书计算的SHA1指纹与开发人员控制台和KitKat中的SHA1不同。
发布于 2014-12-22 13:34:33
我也有过同样的问题。对我来说,问题在于服务器使用的是DE-CBC3-SHA密码,而在Android5.0中,默认情况下不再启用对它的支持。有关这方面的更多信息,请在这里:https://developer.android.com/reference/javax/net/ssl/SSLSocket.html
因此,这个问题的解决方案是:( a)更改服务器配置,以便服务器支持一些更现代的密码器(它没有无缘无故地被禁用)。b)启用对密码的支持。
要检查您可以使用什么密码服务器:
openssl s_client -connect www.myurl.com:443希望这能帮上忙。
https://stackoverflow.com/questions/27146303
复制相似问题