From ee83d5c3bbe243fafd3dcf06e9a758a89beb802e Mon Sep 17 00:00:00 2001 From: egzosn Date: Mon, 25 Nov 2019 10:54:26 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E6=B1=A0=E4=B8=ADssl?= =?UTF-8?q?=E8=AF=81=E4=B9=A6=E5=A4=9A=E6=AC=A1=E5=8A=A0=E8=BD=BD=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pay/common/http/HttpRequestTemplate.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpRequestTemplate.java b/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpRequestTemplate.java index c816e32..025b03f 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpRequestTemplate.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpRequestTemplate.java @@ -52,7 +52,9 @@ public class HttpRequestTemplate { protected HttpHost httpProxy; - HttpConfigStorage configStorage; + protected HttpConfigStorage configStorage; + + private SSLConnectionSocketFactory sslsf; /** * 获取代理带代理地址的 HttpHost * @return 获取代理带代理地址的 HttpHost @@ -73,9 +75,9 @@ public class HttpRequestTemplate { .custom() //网络提供者 .setDefaultCredentialsProvider(createCredentialsProvider(configStorage)) + .setConnectionManager(connectionManager(configStorage)) //设置httpclient的SSLSocketFactory .setSSLSocketFactory(createSSL(configStorage)) - .setConnectionManager(connectionManager(configStorage)) .setDefaultRequestConfig(createRequestConfig(configStorage)) .build(); if (null == connectionManager) { @@ -114,10 +116,12 @@ public class HttpRequestTemplate { * @return SSLConnectionSocketFactory Layered socket factory for TLS/SSL connections. */ public SSLConnectionSocketFactory createSSL( HttpConfigStorage configStorage){ - + if (null != sslsf){ + return sslsf; + } if (null == configStorage.getKeystore()){ try { - return new SSLConnectionSocketFactory(SSLContext.getDefault()); + return sslsf = new SSLConnectionSocketFactory(SSLContext.getDefault()); } catch (NoSuchAlgorithmException e) { LOG.error(e); } @@ -139,7 +143,7 @@ public class HttpRequestTemplate { .loadKeyMaterial(keyStore, password).build(); //指定TLS版本 - SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory( + sslsf = new SSLConnectionSocketFactory( sslcontext, new String[]{"TLSv1"}, null, new DefaultHostnameVerifier());