| @ -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); | |||
| } | |||
| } | |||