Merge pull request #1 from Vavassor/master

Rebase
This commit is contained in:
Boced66 2017-04-14 07:19:29 +02:00 committed by GitHub
commit 50f31d3f00
2 changed files with 20 additions and 7 deletions

View file

@ -7,8 +7,8 @@ android {
applicationId "com.keylesspalace.tusky" applicationId "com.keylesspalace.tusky"
minSdkVersion 15 minSdkVersion 15
targetSdkVersion 25 targetSdkVersion 25
versionCode 13 versionCode 15
versionName "1.1.0" versionName "1.1.2"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary true vectorDrawables.useSupportLibrary true
} }

View file

@ -88,14 +88,27 @@ class OkHttpUtils {
if (Build.VERSION.SDK_INT != Build.VERSION_CODES.N) { if (Build.VERSION.SDK_INT != Build.VERSION_CODES.N) {
return; return;
} }
SSLContext sslContext; SSLSocketFactory socketFactory;
try { try {
sslContext = SSLContext.getInstance("TLS"); TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(
} catch (NoSuchAlgorithmException e) { TrustManagerFactory.getDefaultAlgorithm());
Log.e(TAG, "Failed obtaining TLS Context."); trustManagerFactory.init((KeyStore) null);
TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();
if (trustManagers.length != 1 || !(trustManagers[0] instanceof X509TrustManager)) {
throw new IllegalStateException("Unexpected default trust managers:"
+ Arrays.toString(trustManagers));
}
X509TrustManager trustManager = (X509TrustManager) trustManagers[0];
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, new TrustManager[] { trustManager }, null);
socketFactory = sslContext.getSocketFactory();
} catch (NoSuchAlgorithmException|KeyStoreException|KeyManagementException e) {
Log.e(TAG, "Failed obtaining the SSL socket factory.");
return; return;
} }
String[] cipherSuites = sslContext.getSocketFactory().getDefaultCipherSuites(); String[] cipherSuites = socketFactory.getDefaultCipherSuites();
ArrayList<String> allowedList = new ArrayList<>(); ArrayList<String> allowedList = new ArrayList<>();
for (String suite : cipherSuites) { for (String suite : cipherSuites) {
if (!suite.contains("ECDH")) { if (!suite.contains("ECDH")) {