If anything, you are referring to the
Source
implementation of Xamarin.Forms and the image downloader that supports TLS(In this case most likely Mono's support for TLS). This then is coupled with the following code:
Client code, written in a java client running on JRE7 on my pc, perfectly works and I see with getProtocol (server-side) TLSv1.2 with a correct cipher, supported by tlsv1.2. Same code on android make a tlsv1.0 connection! I really don't uderstand. On Java client JRE7 works, on android ONLY tlsv1.0 Any suggestion? Aug 01, 2016 Android TLS 1.2 issues even with ModernHttpClient. I do not have ModernHttpClient added to the Android or iOS projects, just the PCL (I did try adding ModernHttpClient to the Android project). I have also left the HttpClient implementation project setting set to Default (I did try AndroidClientHandler). Oct 07, 2016 I am using RetroFit with the RxJava extension which returns Observables from the HTTP request. And I had an issue running RetroFit against an SSL connection to the server. The server would not work with TLS below 1.2. And the android devices above version 4.0 support TLS 1.2 but it is not enabled by default and they work with 1.1.
and
I would recommend doing a SSLLabs test on this:
At first glance, it shows the following:
This site works only in browsers with SNI support.
Okay, but that's been supported on Android 2.3.X+.
Let's look at the cipher suites now:
Tls1 2 Download For Android Phone
We can then compare that to an image that we know will work such as:
We then can run SSLLabs test on it and see the following cipher suites:
So there is a clear distinction between the two here, however since I'm not well-versed in this, I would highly recommend adding this to the bug report to see why it would fail with certain ciphers.
Tls 1 2 Download For Android Free
This merely means that the mono implementation might have a bug in it(Or is not supporting these ciphers). You could however download the image manually using
ModernHttpClient
or AndroidClientHandler
via HttpClient
and add it to source through a different stream other than this UriImageSource()