SpringBoot中通过java代码实现忽略SSL证书
程序员文章站
2022-04-15 17:45:15
//工具类package com.oauth.utils;import org.springframework.stereotype.Component;import java.security.cert.CertificateException;import java.security.cert.X509Certificate;import javax.annotation.PostConstruct;import javax.net.ssl.HostnameVerifier;imp....
//工具类
package com.oauth.utils;
import org.springframework.stereotype.Component;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import javax.annotation.PostConstruct;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
/**
* java 信任SSL证书
* @author Administrator
*
*/
public class SslUtils {
private static void trustAllHttpsCertificates() throws Exception {
TrustManager[] trustAllCerts = new TrustManager[1];
TrustManager tm = new miTM();
trustAllCerts[0] = tm;
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
static class miTM implements TrustManager,X509TrustManager {
public X509Certificate[] getAcceptedIssuers() {
return null;
}
public boolean isServerTrusted(X509Certificate[] certs) {
return true;
}
public boolean isClientTrusted(X509Certificate[] certs) {
return true;
}
public void checkServerTrusted(X509Certificate[] certs, String authType)
throws CertificateException {
return;
}
public void checkClientTrusted(X509Certificate[] certs, String authType)
throws CertificateException {
return;
}
}
/**
* 忽略HTTPS请求的SSL证书,必须在openConnection之前调用
* @throws Exception
*/
public static void ignoreSsl() throws Exception{
HostnameVerifier hv = new HostnameVerifier() {
public boolean verify(String urlHostName, SSLSession session) {
return true;
}
};
System.out.println("忽略HTTPS请求的SSL证书");
trustAllHttpsCertificates();
HttpsURLConnection.setDefaultHostnameVerifier(hv);
}
}
//启动类添加方法,调用工具类中的方法
@PostConstruct
public void run() throws Exception{
SslUtils.ignoreSsl();
}
本文地址:https://blog.csdn.net/xiaobanv1/article/details/108233660
推荐阅读
-
SpringBoot中通过java代码实现忽略SSL证书
-
https与SSL协议详解及Java实现免证书访问https服务代码
-
Android中通过Java代码实现ScrollView滚动视图-以歌词滚动为例
-
在Java中通过websocket实现消息推送的实现代码详解
-
SpringBoot中通过java代码实现忽略SSL证书
-
在Java中通过websocket实现消息推送的实现代码详解
-
通过java中SpringBoot实现过滤器、监听器、拦截器的方法介绍
-
Android中通过Java代码实现ScrollView滚动视图-以歌词滚动为例
-
通过java中SpringBoot实现过滤器、监听器、拦截器的方法介绍
-
https与SSL协议详解及Java实现免证书访问https服务代码