diff --git a/pom.xml b/pom.xml index d0843a7..bc182d1 100644 --- a/pom.xml +++ b/pom.xml @@ -2,13 +2,13 @@ 4.0.0 me.xuxiaoxiao xtools-common - 1.0.1 + 1.0.2 xtools-common Java开发基础工具集,陆续收录常用的java代码,令代码更加简洁美观 https://github.com/xuxiaoxiao-xxx/XTools-Common - 1.8 + 1.7 utf-8 @@ -51,8 +51,8 @@ maven-compiler-plugin 3.7.0 - 1.8 - 1.8 + 1.7 + 1.7 @@ -135,8 +135,8 @@ maven-compiler-plugin 3.7.0 - 1.8 - 1.8 + 1.7 + 1.7 diff --git a/src/main/java/me/xuxiaoxiao/xtools/XCodeTools.java b/src/main/java/me/xuxiaoxiao/xtools/XCodeTools.java index ff66761..f291b81 100644 --- a/src/main/java/me/xuxiaoxiao/xtools/XCodeTools.java +++ b/src/main/java/me/xuxiaoxiao/xtools/XCodeTools.java @@ -18,7 +18,11 @@ public final class XCodeTools { /** * 散列算法-SHA1 */ - public static final String HASH_SHA1 = "SHA1"; + public static final String HASH_SHA1 = "SHA-1"; + /** + * 散列算法-SHA256 + */ + public static final String HASH_SHA256 = "SHA-256"; private static final char HEX[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; diff --git a/src/main/java/me/xuxiaoxiao/xtools/XHttpTools.java b/src/main/java/me/xuxiaoxiao/xtools/XHttpTools.java index 44a5d4c..0195d3c 100644 --- a/src/main/java/me/xuxiaoxiao/xtools/XHttpTools.java +++ b/src/main/java/me/xuxiaoxiao/xtools/XHttpTools.java @@ -77,9 +77,7 @@ private static HttpURLConnection connect(XOption option, String url) throws Exce return (HttpURLConnection) new URL(url).openConnection(); } else if (url.toLowerCase().startsWith("https://")) { HttpsURLConnection connection = (HttpsURLConnection) new URL(url).openConnection(); - SSLContext sslContext = SSLContext.getInstance("TLS"); - sslContext.init(null, option.trustManagers, new SecureRandom()); - connection.setSSLSocketFactory(sslContext.getSocketFactory()); + connection.setSSLSocketFactory(option.sslContext.getSocketFactory()); connection.setHostnameVerifier(option.hostnameVerifier); return connection; } else { @@ -130,9 +128,9 @@ public static class XOption { */ public final boolean followRedirect = followRedirect(); /** - * 证书管理器 + * SSL上下文 */ - public final TrustManager[] trustManagers = trustManagers(); + public final SSLContext sslContext = sslContext(); /** * 主机名验证器 */ @@ -168,29 +166,40 @@ public boolean followRedirect() { } /** - * 请求的证书管理器 + * 获取SSL上下文 * - * @return 证书管理器 + * @return 默认不进行证书验证 */ - public TrustManager[] trustManagers() { - return new TrustManager[]{new X509TrustManager() { - @Override - public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { - } + public SSLContext sslContext() { + try { + SSLContext sslContext = SSLContext.getInstance("TLS"); + sslContext.init(null, new TrustManager[]{new X509TrustManager() { + @Override + public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { + } - @Override - public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { - } + @Override + public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { + } - @Override - public X509Certificate[] getAcceptedIssuers() { - return null; - } - }}; + @Override + public X509Certificate[] getAcceptedIssuers() { + return null; + } + }}, new SecureRandom()); + return sslContext; + } catch (Exception e) { + return null; + } } public HostnameVerifier hostnameVerifier() { - return (s, sslSession) -> true; + return new HostnameVerifier() { + @Override + public boolean verify(String s, SSLSession sslSession) { + return true; + } + }; } /**