Java代码中忽略HTTPS请求中的证书

请注意,忽略证书验证存在安全风险,因为这使得您的应用程序容易受到中间人攻击。在生产环境中,请谨慎使用此方法,并确保您的应用程序的安全性。

java 复制代码
import javax.net.ssl.*;
import java.security.SecureRandom;
import java.security.cert.X509Certificate;

public class IgnoreSSL {

    public static void main(String[] args) throws Exception {
        // 创建信任所有证书的TrustManager
        TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
            public X509Certificate[] getAcceptedIssuers() {
                return null;
            }

            public void checkClientTrusted(X509Certificate[] certs, String authType) {
            }

            public void checkServerTrusted(X509Certificate[] certs, String authType) {
            }
        }};

        // 获取SSLContext实例
        SSLContext sc = SSLContext.getInstance("SSL");
        sc.init(null, trustAllCerts, new SecureRandom());

        // 设置默认的HostnameVerifier,接受所有主机名
        HttpsURLConnection.setDefaultHostnameVerifier((hostname, session) -> true);

        // 设置默认的SSLSocketFactory
        HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());

        // 发起HTTPS请求
        // Your HTTPS request code here
    }
}

另一种解决方法:

Nginx做转发

复制代码
location /providerAuth{
	proxy pass https://xxxx.com; #目标域名
	access log auth.log json;
}

用于处理以/providerAuth开头的请求,将访问日志记录到auth.log文件中,日志格式为json

相关推荐
阿沐沐,2 分钟前
PowerShell 里改了 config.toml,Codex CLI 仍用旧值:先分清该改哪一层
java·服务器·数据库·人工智能·ai·ai编程
杨丰玮4185 分钟前
从零手写Java飞机躲障碍游戏|Swing绘图、鼠标跟随、计时器碰撞检测实战(二)
java·游戏·计算机外设
Rain的Java大神之路10 分钟前
如何避免订单重复提交
java·redis·后端·面试·架构·rabbitmq·rocketmq
JacksonMx41 分钟前
企业级幂等方案
数据库·spring boot·spring·oracle
ps酷教程1 小时前
解析自定义数据
java
wuminyu1 小时前
JDK21中FFM api的upcall回调机制解析
java·linux·c语言·jvm·c++
Lucifer三思而后行1 小时前
我准备写 26 篇文章,带 DBA 系统学一遍 AI
数据库·人工智能·dba
for_ever_love__1 小时前
SQL学习: SQL入门与DDL
数据库·sql·学习
桦说编程1 小时前
深入理解 FutureTask 状态机——从契约到实现
java·后端·性能优化