diff --git a/CHANGELOG.md b/CHANGELOG.md index 7884c9fa4..104033182 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ * 【poi 】 CsvReader增加readFromStr(pr#1755@Github) * 【socket 】 SocketUtil增加connection方法 * 【extra 】 JschUtil增加bindPort重载方法(issue#I44UTH@Github) +* 【core 】 DefaultTrustManager改为继承X509ExtendedTrustManager ### 🐞Bug修复 * 【core 】 改进NumberChineseFormatter算法,补充完整单元测试,解决零问题 diff --git a/hutool-core/src/main/java/cn/hutool/core/net/DefaultTrustManager.java b/hutool-core/src/main/java/cn/hutool/core/net/DefaultTrustManager.java index 6f85f33b5..b9cb7d88c 100644 --- a/hutool-core/src/main/java/cn/hutool/core/net/DefaultTrustManager.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/DefaultTrustManager.java @@ -1,15 +1,18 @@ package cn.hutool.core.net; -import javax.net.ssl.X509TrustManager; +import javax.net.ssl.SSLEngine; +import javax.net.ssl.X509ExtendedTrustManager; +import java.net.Socket; import java.security.cert.X509Certificate; /** - * 默认信任管理器,默认信任所有客户端和服务端证书 + * 默认信任管理器,默认信任所有客户端和服务端证书
+ * 继承{@link X509ExtendedTrustManager}的原因见:https://blog.csdn.net/ghaohao/article/details/79454913 * * @author Looly * @since 5.5.7 */ -public class DefaultTrustManager implements X509TrustManager { +public class DefaultTrustManager extends X509ExtendedTrustManager { @Override public X509Certificate[] getAcceptedIssuers() { @@ -23,4 +26,20 @@ public class DefaultTrustManager implements X509TrustManager { @Override public void checkServerTrusted(X509Certificate[] chain, String authType) { } + + @Override + public void checkClientTrusted(X509Certificate[] x509Certificates, String s, Socket socket) { + } + + @Override + public void checkServerTrusted(X509Certificate[] x509Certificates, String s, Socket socket) { + } + + @Override + public void checkClientTrusted(X509Certificate[] x509Certificates, String s, SSLEngine sslEngine) { + } + + @Override + public void checkServerTrusted(X509Certificate[] x509Certificates, String s, SSLEngine sslEngine) { + } } diff --git a/hutool-http/src/main/java/cn/hutool/http/ssl/CustomProtocolsSSLFactory.java b/hutool-http/src/main/java/cn/hutool/http/ssl/CustomProtocolsSSLFactory.java index 1723a8011..4d512614c 100644 --- a/hutool-http/src/main/java/cn/hutool/http/ssl/CustomProtocolsSSLFactory.java +++ b/hutool-http/src/main/java/cn/hutool/http/ssl/CustomProtocolsSSLFactory.java @@ -12,7 +12,7 @@ import java.security.NoSuchAlgorithmException; /** * 自定义支持协议类型的SSLSocketFactory - * + * * @author looly */ public class CustomProtocolsSSLFactory extends SSLSocketFactory { @@ -22,10 +22,10 @@ public class CustomProtocolsSSLFactory extends SSLSocketFactory { /** * 构造 - * + * * @param protocols 支持协议列表 * @throws KeyManagementException KeyManagementException - * @throws NoSuchAlgorithmException NoSuchAlgorithmException + * @throws NoSuchAlgorithmException 无此算法 */ public CustomProtocolsSSLFactory(String... protocols) throws KeyManagementException, NoSuchAlgorithmException { this.protocols = protocols; @@ -86,7 +86,7 @@ public class CustomProtocolsSSLFactory extends SSLSocketFactory { /** * 重置可用策略 - * + * * @param socket SSLSocket */ private void resetProtocols(SSLSocket socket) { @@ -95,4 +95,4 @@ public class CustomProtocolsSSLFactory extends SSLSocketFactory { } } -} \ No newline at end of file +}