我开发了一个小应用程序,使用带有自签名证书的SSL连接到我的服务器。为了使它工作,我使用BouncyCastleProvider将我的证书加载到自定义密钥库中,并在我的自定义SSLSocketFactory中导入证书。 Everythink在android 2.3(最小sdk)到4.4.4之间运行良好。但在android L(预览版)中,我的应用失败了:
Tue Aug 12 14:34:40 BRT 2014: javax.net.ssl.SSLPeerUnverifiedException:没有对等证书 com.android.org.conscrypt.SSLNullSession.getPeerCertificates(SSLNullSession.java:104) 在 org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:93) 在 org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:388) 在 org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:165) 在 org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164) 在 org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119) 在 org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360) 在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) 在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) 在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465) ....
我完全不知道如何解决它。 任何帮助都会非常感激。
答案 0 :(得分:0)
告诉您我们如何在项目中修复此问题。也许这可以帮助任何人。
我们的应用程序基于ion和AndroidAsync网络库,它有这个错误: https://github.com/koush/AndroidAsync/issues/187
对最新版本(1.4.0)的更新修复了"无对等证书" Android L上的问题。