У меня есть SSLProtocolException, когда я устанавливаю соединение https с моим веб-сервером.У меня есть только это исключение в Android 2.3 Gingebread;тот же код отлично работает во всех других версиях Android.Есть ли проблемы с этой версией Android?
Я также открыл отчет об ошибке в Google: http://code.google.com/p/android/issues/detail?id=16121&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars
Я приложил исключение:
ПРЕДУПРЕЖДЕНИЕ/System.err(6218): javax.net.ssl.SSLProtocolException: Ошибка чтения: ssl = 0x3c97e8: сбой в библиотеке SSL, обычно ошибка протокола WARN / System.err (6218): в org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_read (собственный метод) WARN / System.err (6218): в org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl $ SSLInputStream.read (OpenSSLSocketImpl.java:788) WARN / System.er(6218): в org.apache.harmony.luni.internal.net.www.protocol.http.FixedLengthInputStream.read (FixedLengthInputStream.java:44) WARN / System.err (6218): в 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)
проверьте, хочет ли сервер аутентификацию клиента. В моем случае в tomcat server.xml clientAuth = "true", поэтому ошибка была, поэтому измените ее на false.
Попробуйте использовать SSLSocketFactory для непосредственного чтения из сокета. Я разместил тестовый пример с закомментированным кодом здесь: SSLProtocolException при чтении ответов https на устройствах Android 2.3.3
SSLSocketFactory