Modificando completamente la mia risposta dopo un po 'di test, sia HttpUrlConnection che NSURLConnection sembrano riprovare le connessioni TLS fallite con precedenti connessioni SSLv3. Per il meglio o per lo più peggio, questa è una funzionalità intenzionale per la retrocompatibilità con i server configurati in modo errato ed è documentata nella maggior parte dei documenti di riferimento nella maggior parte dei luoghi o bisogna scavare attraverso la sorgente del codice nativo. Il mio post originale non era corretto in quanto non ho mai rintracciato la modifica Oracle per risolvere questo problema nel codice Android nativo. http://www.oracle.com/technetwork/java/javase/overview/tlsreadme2-176330.html
Alcuni documentazione:
HttpURLConnection
TLS Intolerance Support
This class attempts to create secure connections using common TLS extensions and SSL deflate compression. Should that fail, the connection will be retried with SSLv3 only.
OkHttp
OkHttp initiates new connections with modern TLS features (SNI, ALPN), and falls back to SSLv3 if the handshake fails.
Tutto ciò che ha detto penso che la possibilità di impostare un minimo consentito versione TLS in iOS e la possibilità di specificare le versioni di protocollo supportate in Android lo rendono davvero un po 'un problema nelle app.
iOS Esempio: https://developer.apple.com/library/mac/documentation/Foundation/Reference/NSURLSessionConfiguration_class/index.html#//apple_ref/occ/instp/NSURLSessionConfiguration/TLSMinimumSupportedProtocol
fonte
2014-10-21 00:39:45
Grazie per la risposta e per questo la ricerca! – esilver