From cf44ae005a65884b5953c7786d1e4ca29e98ce86 Mon Sep 17 00:00:00 2001 From: Looly Date: Mon, 13 May 2024 16:50:05 +0800 Subject: [PATCH] fix #3582 --- .../hutool/core/net/ssl/SSLContextUtil.java | 16 ++++++++++++++++ .../dromara/hutool/http/HttpGlobalConfig.java | 2 +- .../org/dromara/hutool/http/ssl/SSLInfo.java | 4 +++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/net/ssl/SSLContextUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/net/ssl/SSLContextUtil.java index 84853003a..e53577ab8 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/net/ssl/SSLContextUtil.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/net/ssl/SSLContextUtil.java @@ -12,11 +12,13 @@ package org.dromara.hutool.core.net.ssl; +import org.dromara.hutool.core.exception.HutoolException; import org.dromara.hutool.core.io.IORuntimeException; import javax.net.ssl.KeyManager; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; +import java.security.NoSuchAlgorithmException; /** * SSL(Secure Sockets Layer 安全套接字协议)中的{@link SSLContext}相关工具封装 @@ -26,6 +28,20 @@ import javax.net.ssl.TrustManager; */ public class SSLContextUtil { + /** + * 获取默认的{@link SSLContext} + * + * @return {@link SSLContext} + * @since 6.0.0 + */ + public static SSLContext getDefault() { + try { + return SSLContext.getDefault(); + } catch (final NoSuchAlgorithmException e) { + throw new HutoolException(e); + } + } + /** * 创建{@link SSLContext},信任全部,协议为TLS * diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/HttpGlobalConfig.java b/hutool-http/src/main/java/org/dromara/hutool/http/HttpGlobalConfig.java index f7a386a72..4da3d632c 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/HttpGlobalConfig.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/HttpGlobalConfig.java @@ -229,7 +229,7 @@ public class HttpGlobalConfig implements Serializable { * @param customTrustAnyHost 如果设置为{@code false},则按照JDK默认验证机制,验证目标服务器的证书host和请求host是否一致,{@code true}表示不验证。 * @since 5.8.27 */ - public static void setTrustAnyHost(boolean customTrustAnyHost) { + public static void setTrustAnyHost(final boolean customTrustAnyHost) { trustAnyHost = customTrustAnyHost; } } diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/ssl/SSLInfo.java b/hutool-http/src/main/java/org/dromara/hutool/http/ssl/SSLInfo.java index 812eeb81a..100e838c6 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/ssl/SSLInfo.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/ssl/SSLInfo.java @@ -40,7 +40,9 @@ public class SSLInfo { /** * 默认{@code SSLInfo},全部为{@code null},使用客户端引擎默认配置 */ - public static final SSLInfo DEFAULT = SSLInfo.of(); + public static final SSLInfo DEFAULT = SSLInfo.of() + // issue#3582 + .setSslContext(SSLContextUtil.getDefault()); /** * 信任所有的{@code SSLInfo}