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;
+ }
+ };
}
/**