Android:具有某些设备的用户无法使用我的应用程序的Web服务 - SSLPeerUnverifiedException

Wil*_*ani 5 java https android

我有一个应用程序,它通过https与我拥有的服务器进行交互.我有一个有效的证书.

该应用程序适用于大多数用户,但有些用户报告他们在连接根设备时遇到问题.他们也在报告HTC Evo 2.3.3,从Sprint升级后,应用程序具有相同的行为.

我借了一个朋友的Evo,并且能够得到下面的堆栈跟踪.我已经看到了基本上"接受所有证书"的解决方案,但这是不可能的,因为我在生产中发布它.

有没有人看到过这方面的修复?可能将我的服务器证书直接存储在设备上?

06-24 15:15:52.051: WARN/ServiceOperation(1535): javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
06-24 15:15:52.051: WARN/ServiceOperation(1535):     at org.apache.harmony.xnet.provider.jsse.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:258)
06-24 15:15:52.051: WARN/ServiceOperation(1535):     at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:93)
06-24 15:15:52.051: WARN/ServiceOperation(1535):     at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:381)
06-24 15:15:52.051: WARN/ServiceOperation(1535):     at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:164)
06-24 15:15:52.051: WARN/ServiceOperation(1535):     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
06-24 15:15:52.051: WARN/ServiceOperation(1535):     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
06-24 15:15:52.051: WARN/ServiceOperation(1535):     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:359)
06-24 15:15:52.051: WARN/ServiceOperation(1535):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
06-24 15:15:52.051: WARN/ServiceOperation(1535):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
06-24 15:15:52.051: WARN/ServiceOperation(1535):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
Run Code Online (Sandbox Code Playgroud)

Wil*_*ani 1

这似乎与 HTC 发布 2.3.3 时创建的问题有关。这里有一个关于它的错误报告:http://code.google.com/p/android/issues/detail ?id=16885#c7

我将推迟将任何内容硬编码到应用程序中,所以我想现在我不会支持这些用户。