没有同行证书

我开发了一个小应用程序,它使用带有自签名证书的SSL连接到我的服务器。 为了使它工作,我已经使用BouncyCastleProvider将我的证书加载到自定义密钥库中,并将该证书导入到我的自定义SSLSocketFactory中。 Everythink从android 2.3(最低sdk)到4.4.4都能很好地工作。 但在Android L(预览版)中,我的应用失败:

星期二8月12日14:34:40 BRT 2014:javax.net.ssl.SSLPeerUnverifiedException:在org.apache.http.conn的com.android.org.conscrypt.SSLNullSession.getPeerCertificates(SSLNullSession.java:104)上没有对等证书。在org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator。)上的org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:388)处的ssl.AbstractVerifier.verify(AbstractVerifier.java:93) java:165)at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)at org.apache .http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)at org.apache.http.impl.client.AbstractHttpClient .execute(AbstractHttpClient.java:487)at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)....

我完全不知道如何解决它。 任何帮助将非常感激。


只是为了让您知道我们如何在我们的项目中解决这个问题。 也许这可以帮助任何人。

我们的应用程序基于ion和AndroidAsync网络库,它有这个bug:https://github.com/koush/AndroidAsync/issues/187

最新版本(1.4.0)的更新修复了Android L上的“无对等证书”问题。

链接地址: http://www.djcxy.com/p/31163.html

上一篇: No peer certificate

下一篇: java sardine over ssl