package cn.flightfeather.supervision.common.api2word;
|
|
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
|
import org.apache.http.conn.ssl.TrustStrategy;
|
import org.apache.http.impl.client.CloseableHttpClient;
|
import org.apache.http.impl.client.HttpClients;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
|
import org.springframework.http.converter.StringHttpMessageConverter;
|
import org.springframework.web.client.RestTemplate;
|
|
import javax.net.ssl.SSLContext;
|
import java.nio.charset.StandardCharsets;
|
import java.security.KeyManagementException;
|
import java.security.KeyStoreException;
|
import java.security.NoSuchAlgorithmException;
|
import java.security.cert.X509Certificate;
|
|
/**
|
* Created by XiuYin.Cui on 2018/6/21.
|
*/
|
@Configuration
|
public class JavaConfig {
|
|
@Bean
|
public RestTemplate restTemplate() throws KeyStoreException, NoSuchAlgorithmException, KeyManagementException {
|
TrustStrategy acceptingTrustStrategy = (X509Certificate[] chain, String authType) -> true;
|
SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom()
|
.loadTrustMaterial(null, acceptingTrustStrategy)
|
.build();
|
SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext);
|
CloseableHttpClient httpClient = HttpClients.custom()
|
.setSSLSocketFactory(csf)
|
.build();
|
HttpComponentsClientHttpRequestFactory requestFactory =
|
new HttpComponentsClientHttpRequestFactory();
|
requestFactory.setHttpClient(httpClient);
|
|
//60s
|
requestFactory.setConnectTimeout(60 * 1000);
|
requestFactory.setReadTimeout(60 * 1000);
|
RestTemplate restTemplate = new RestTemplate(requestFactory);
|
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
|
return restTemplate;
|
}
|
}
|