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

相关推荐
Q741_14710 小时前
海致星图招聘 数据库内核研发实习生 一轮笔试 总结复盘(2) 作答语言:C/C++ 哈夫曼编码 LRU
c语言·数据库·c++·算法·笔试·哈夫曼编码·哈夫曼树
小当家.10510 小时前
Maven与Gradle完整对比指南:构建工具深度解析
java·gradle·maven
neoooo10 小时前
🍃Spring Boot 多模块项目中 Parent / BOM / Starter 的正确分工
java·后端·架构
黄金贼贼10 小时前
2026最新java单元测试json校验器
java·单元测试·json
齐 飞10 小时前
快速删除mysql表中所有数据-TRUNCATE TABLE
数据库·mysql
菜鸟的迷茫10 小时前
为了防雪崩加了限流,结果入口先挂了
java·后端·架构
想摆烂的不会研究的研究生10 小时前
每日八股——Redis(2)
数据库·redis·缓存
荒诞硬汉10 小时前
数组常见算法
java·数据结构·算法
optimistic_chen11 小时前
【Redis系列】主从复制
linux·数据库·redis·缓存·中间件·命令行·主从复制
悟空码字11 小时前
SpringBoot整合MongoDB,性能提升,优化实践
java·spring boot·后端