| @ -0,0 +1,62 @@ | |||||
| package com.inspect.ivs.util; | |||||
| import javax.net.ssl.*; | |||||
| import java.security.cert.CertificateException; | |||||
| import java.security.cert.X509Certificate; | |||||
| /** | |||||
| * @description: | |||||
| * @author: wangankang | |||||
| * @create: 2022-12-01 | |||||
| **/ | |||||
| 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; | |||||
| } | |||||
| }; | |||||
| trustAllHttpsCertificates(); | |||||
| HttpsURLConnection.setDefaultHostnameVerifier(hv); | |||||
| } | |||||
| } | |||||