sslSocketFactory设置忽略https 验证
您可以使用以下代码来设置忽略HTTPS验证:
import javax.net.ssl.*;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
public class SSLUtils {
public static void ignoreSSLVerification() {
try {
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 = SSLContext.getInstance("TLS");
sslContext.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
} catch (Exception e) {
e.printStackTrace();
}
}
}
您可以在需要忽略HTTPS验证的地方调用SSLUtils.ignoreSSLVerification()方法。这将设置默认的SSLSocketFactory,以忽略HTTPS验证。请注意,这样做会降低安全性,因此在生产环境中使用时要小心
原文地址: http://www.cveoy.top/t/topic/iJHu 著作权归作者所有。请勿转载和采集!