From 8fd9395e23cf11ea1bc18776f0b77d86b440b64c Mon Sep 17 00:00:00 2001 From: yushijinhun Date: Sun, 18 Feb 2018 16:03:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=AF=B9SSL=E7=9A=84?= =?UTF-8?q?=E5=B9=B2=E6=B6=89=EF=BC=88=E5=87=BA=E4=BA=8E=E5=AE=89=E5=85=A8?= =?UTF-8?q?=E8=80=83=E8=99=91=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/jackhuang/hmcl/util/NetworkUtils.java | 43 ------------------- .../jackhuang/hmcl/util/RandomUserAgent.java | 3 ++ 2 files changed, 3 insertions(+), 43 deletions(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/NetworkUtils.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/NetworkUtils.java index 6bdc7f104..98806ad3e 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/NetworkUtils.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/NetworkUtils.java @@ -17,10 +17,6 @@ */ package org.jackhuang.hmcl.util; -import javax.net.ssl.HostnameVerifier; -import javax.net.ssl.HttpsURLConnection; -import javax.net.ssl.SSLContext; -import javax.net.ssl.X509TrustManager; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -28,9 +24,6 @@ import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.Proxy; import java.net.URL; -import java.security.GeneralSecurityException; -import java.security.SecureRandom; -import java.security.cert.X509Certificate; import java.util.Map; import java.util.Objects; import java.util.function.Supplier; @@ -46,41 +39,6 @@ public final class NetworkUtils { private NetworkUtils() { } - private static final X509TrustManager XTM = new X509TrustManager() { - @Override - public void checkClientTrusted(X509Certificate[] xcs, String string) { - } - - @Override - public void checkServerTrusted(X509Certificate[] xcs, String string) { - } - - @Override - public X509Certificate[] getAcceptedIssuers() { - return new X509Certificate[0]; - } - }; - - private static final HostnameVerifier HNV = (a, b) -> true; - - private static volatile boolean initHttps = false; - - private static synchronized void initHttps() { - if (initHttps) - return; - - initHttps = true; - - System.setProperty("https.protocols", "SSLv3,TLSv1"); - try { - SSLContext c = SSLContext.getInstance("SSL"); - c.init(null, new X509TrustManager[] { XTM }, new SecureRandom()); - HttpsURLConnection.setDefaultSSLSocketFactory(c.getSocketFactory()); - } catch (GeneralSecurityException ignore) { - } - HttpsURLConnection.setDefaultHostnameVerifier(HNV); - } - private static Supplier userAgentSupplier = RandomUserAgent::randomUserAgent; public static String getUserAgent() { @@ -92,7 +50,6 @@ public final class NetworkUtils { } public static HttpURLConnection createConnection(URL url, Proxy proxy) throws IOException { - initHttps(); HttpURLConnection connection = (HttpURLConnection) url.openConnection(proxy); connection.setDoInput(true); connection.setUseCaches(false); diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/RandomUserAgent.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/RandomUserAgent.java index 3795779e1..4aaf3731f 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/RandomUserAgent.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/RandomUserAgent.java @@ -3,6 +3,9 @@ package org.jackhuang.hmcl.util; import java.util.HashMap; import java.util.Map; +/** + * Optifine has blocked Java's useragent, so we have to make up one. + */ public class RandomUserAgent { private static final HashMap uaMap = new HashMap<>();