草庐IT

Java SSL : how to disable hostname verification

coder 2023-05-15 原文

有没有办法让标准 java SSL 套接字禁用带有属性的 ssl 连接的主机名验证?到目前为止,我发现的唯一方法是编写一个始终返回 true 的主机名验证程序。

Weblogic 提供了这种可能性,可以使用以下属性禁用主机名验证:

-Dweblogic.security.SSL.ignoreHostnameVerify

最佳答案

应该可以创建自定义java agent覆盖默认的 HostnameVerifier:

import javax.net.ssl.*;
import java.lang.instrument.Instrumentation;

public class LenientHostnameVerifierAgent {
    public static void premain(String args, Instrumentation inst) {
        HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
            public boolean verify(String s, SSLSession sslSession) {
                return true;
            }
        });
    }
}

然后只需将 -javaagent:LenientHostnameVerifierAgent.jar 添加到程序的 java 启动参数中。

关于Java SSL : how to disable hostname verification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6031258/

有关Java SSL : how to disable hostname verification的更多相关文章

随机推荐