MyX509TrustManager myTrustManager = new MyX509TrustManager();
TrustManager[] trustManagers = new TrustManager[]{myTrustManager};
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, trustManagers, null);
// 获取 HostnameVerifier 对象,忽略域名校验错误
HostnameVerifier hostnameVerifier = (s, sslSession) -> true;
URL url = new URL(fileStorage.getFileUrl());
URLConnection urlConnection = url.openConnection();
if (urlConnection instanceof HttpsURLConnection) {
((HttpsURLConnection) urlConnection).setSSLSocketFactory(sslContext.getSocketFactory());
HttpsURLConnection.setDefaultHostnameVerifier(hostnameVerifier);
}
InputStream chartFileInputStream = urlConnection.getInputStream();
package cn.thuniwhir.ydmh.support.security;
import javax.net.ssl.X509TrustManager;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
public class MyX509TrustManager implements X509TrustManager {
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
}