记录RestTemplate调用https请求用上证书的配置问题
【代码】记录RestTemplate调用https请求用上证书的配置问题。
·
public class RestTemplateUtils {
@SneakyThrows
public static RestTemplate getRestTemplate(String keystorePath) {
// 创建SSLContext changeit一般是证书的默认密码,证书一般是xxx.keystore 文件
SSLContext sslContext = SSLContextBuilder.create()
.loadTrustMaterial(new File(keystorePath), "changeit".toCharArray())
.build();
// 创建SSLConnectionSocketFactory
SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(sslContext);
// 创建CloseableHttpClient
CloseableHttpClient httpClient = HttpClients.custom()
.setSSLSocketFactory(socketFactory)
.build();
// 创建HttpComponentsClientHttpRequestFactory
HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient);
// 创建RestTemplate
RestTemplate restTemplate = new RestTemplate(factory);
return restTemplate;
}
}
更多推荐
所有评论(0)