SSLProtocolException建立https连接

时间:2011-04-06 15:57:47

标签: android ssl

当我与我的网络服务器进行https连接时,我有一个SSLProtocolException。我在Android 2.3 Gingebread中只有这个例外;相同的代码在所有其他Android版本中都能正常运行。这个Android版本有什么问题吗?

我还向Google发布了一个错误报告:http://code.google.com/p/android/issues/detail?id=16121&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars

我附上了例外:

  

WARN / System.err(6218):javax.net.ssl.SSLProtocolException:读取错误:ssl = 0x3c97e8:SSL库失败,通常是协议错误   WARN / System.err(6218):at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_read(Native Method)   WARN / System.err(6218):at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl $ SSLInputStream.read(OpenSSLSocketImpl.java:788)   WARN / System.err(6218):at org.apache.harmony.luni.internal.net.www.protocol.http.FixedLengthInputStream.read(FixedLengthInputStream.java:44)   WARN / System.err(6218):at java.io.BufferedInputStream.read(BufferedInputStream.java:319)   WARN / System.err(6218):在android.os.Handler.dispatchMessage(Handler.java:99)   WARN / System.err(6218):在android.os.Looper.loop(Looper.java:123)   WARN / System.err(6218):在android.os.HandlerThread.run(HandlerThread.java:60)

2 个答案:

答案 0 :(得分:0)

尝试使用SSLSocketFactory直接从套接字读取。我在这里发布了一个带注释代码的测试用例:SSLProtocolException when reading https responses on Android 2.3.3 devices

答案 1 :(得分:0)

检查服务器是否需要客户端身份验证。在我的情况下,在tomcat server.xml clientAuth =“true”中,所以出现错误,所以我将其更改为false。