1. 首页
  2. 课程学习
  3. Java
  4. Java SSL跳过证书验证

Java SSL跳过证书验证

上传者: 2025-05-29 00:46:04上传 RAR文件 2.31KB 热度 4次

SSL 跳过证书的在 Java 中其实蛮。你只需要在代码里通过配置一个自定义的 TrustManager,绕过默认的证书验证机制。SSLConnectionSocketFactory可以你自定义 SSL 连接,跳过证书验证。常见的做法就是创建一个没有验证功能的 HostNameVerifier。其实,多时候,尤其是在开发和测试环境中,你不想被 SSL 证书搞得头大,这种方法有效。下面是个例子:

SSLContext ctx = SSLContext.getInstance("TLS");
TrustManager tm = new X509TrustManager() {
    public X509Certificate[] getAcceptedIssuers() {
        return null;
    }
    public void checkClientTrusted(X509Certificate[] certs, String authType) {
    }
    public void checkServerTrusted(X509Certificate[] certs, String authType) {
    }
};
ctx.init(null, new TrustManager[] { tm }, new java.security.SecureRandom());
SSLConnectionSocketFactory ssf = new SSLConnectionSocketFactory(ctx, NoopHostnameVerifier.INSTANCE);
CloseableHttpClient httpclient = HttpClients.custom().setSSLSocketFactory(ssf).build();

如果你经常需要这类问题,可以参考下文的一些文章,里面有更详细的解读和应用场景。使用时也要小心,生产环境中最好还是验证证书,避免安全隐患。

下载地址
用户评论