From 9881150410d2afbc0c8511d0403131bd3905c172 Mon Sep 17 00:00:00 2001 From: "David A. Velasco" Date: Mon, 17 Nov 2014 09:56:54 +0100 Subject: [PATCH] Grant that a security provider supporting TLSv1.2 is requested --- .../android/lib/common/network/NetworkUtils.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/com/owncloud/android/lib/common/network/NetworkUtils.java b/src/com/owncloud/android/lib/common/network/NetworkUtils.java index ad0d0ba0..ea19fc3c 100644 --- a/src/com/owncloud/android/lib/common/network/NetworkUtils.java +++ b/src/com/owncloud/android/lib/common/network/NetworkUtils.java @@ -93,13 +93,22 @@ public class NetworkUtils { } } - public static AdvancedSslSocketFactory getAdvancedSslSocketFactory(Context context) throws GeneralSecurityException, IOException { + public static AdvancedSslSocketFactory getAdvancedSslSocketFactory(Context context) + throws GeneralSecurityException, IOException { if (mAdvancedSslSocketFactory == null) { KeyStore trustStore = getKnownServersStore(context); AdvancedX509TrustManager trustMgr = new AdvancedX509TrustManager(trustStore); TrustManager[] tms = new TrustManager[] { trustMgr }; - SSLContext sslContext = SSLContext.getInstance("TLS"); + SSLContext sslContext; + try { + sslContext = SSLContext.getInstance("TLSv1.2"); + } catch (NoSuchAlgorithmException e) { + Log_OC.w(TAG, "TLSv1.2 is not supported in this device; falling through TLSv1.0"); + sslContext = SSLContext.getInstance("TLSv1"); + // should be available in any device; see reference of supported protocols in + // http://developer.android.com/reference/javax/net/ssl/SSLSocket.html + } sslContext.init(null, tms, null); mHostnameVerifier = new BrowserCompatHostnameVerifier();