In a Android app (Kitkat 4.4.4 on a Nexus 7) I use the Retrofit REST library to access a HTTPS server which I configured to allow only TLS, but no SSL (to fix the Poodle vulnerability).
My Retrofit setup code is simple
RetrofitInterface retrofitInterface = new RestAdapter.Builder()
.setEndpoint(API.API_URL).build().create(RetrofitInterface.class);
and I do no further SSL-specific configuration.
If I disallow SSLv2/SSLv3 in the server configuration, the REST resource request fails with this error message:
failure retrofit.RetrofitError: javax.net.ssl.SSLProtocolException: SSL handshake terminated: ssl=0x69978800: Failure in SSL library, usually a protocol error
error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure (external/openssl/ssl/s3_pkt.c:1256 0x683cddf8:0x00000003)
When I configure the HTTPS server to allow SSLv2/SSLv3, the problem disappears.
Do I need additional configuration to force the Android HTTP library to use TLS instead of SSL?