解决httpclient 4.5 https请求跳过证书验证
2017-07-21 16:04
716 查看
public class SslUtil { public static CloseableHttpClient SslHttpClientBuild() { Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create().register("http", PlainConnectionSocketFactory.INSTANCE).register("https", trustAllHttpsCertificates()).build(); //创建ConnectionManager,添加Connection配置信息 PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(socketFactoryRegistry); CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(connectionManager).build(); return httpClient; } private static SSLConnectionSocketFactory trustAllHttpsCertificates() { SSLConnectionSocketFactory socketFactory = null; TrustManager[] trustAllCerts = new TrustManager[1]; TrustManager tm = new miTM(); trustAllCerts[0] = tm; SSLContext sc = null; try { sc = SSLContext.getInstance("TLS");//sc = SSLContext.getInstance("TLS") sc.init(null, trustAllCerts, null); socketFactory = new SSLConnectionSocketFactory(sc, NoopHostnameVerifier.INSTANCE); //HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (KeyManagementException e) { e.printStackTrace(); } return socketFactory; } static class miTM implements TrustManager, X509TrustManager { public X509Certificate[] getAcceptedIssuers() { return null; } public void checkServerTrusted(X509Certificate[] certs, String authType) { //don't check } public void checkClientTrusted(X509Certificate[] certs, String authType) { //don't check } } }
相关文章推荐
- 关于httpclient 请求https (如何绕过证书验证)
- 开启Charles情况下requests 请求https遇到证书验证错误的解决方法
- 关于httpclient 请求https (如何绕过证书验证)
- httpclient请求https,取消证书认证,解决PKIX path building failed
- 关于httpclient 请求https (如何绕过证书验证)
- httpclient 3.1跳过https请求SSL的验证
- 关于httpclient 请求https (如何绕过证书验证)
- java 关于httpclient 请求https (如何绕过证书验证)
- java 关于httpclient 请求https (如何绕过证书验证)
- httpclient跳过https请求的验证
- Android:Https跳过证书验证、Https使用证书、HttpClient、
- 关于httpclient 请求https (如何绕过证书验证)
- 如何使用自定义证书解决postman请求https不了问题!
- hessian,SSO,CAS调用https不受信任之跳过证书验证(unable to find valid certification path to requested target )
- httpclient发送https的get请求忽略证书
- 证书不安全解决HttpClient 如何忽略证书验证 - ALLOW_ALL_HOSTNAME_VERIFIER
- [Java] 绕过证书验证调 HTTPS 接口时报 “SSLHandshakeException: DHPublicKey does not comply to algorithm constraints”的解决办法
- httpclient忽略证书验证允许https请求
- java请求https地址如何绕过证书验证?
- xUtils3 Https请求报错:javax.net.ssl.SSLPeerUnverifiedException: Hostname ***.****.**not verified,跳过证书检测