RestTemplate调用异常:sun.security.provider.certpath
RestTemplate调用异常:sun.security.provider.certpath
安全问题
解决:
1.导入依赖
org.apache.httpcomponents
httpcore
4.4.10
org.apache.httpcomponents
httpclient
4.5.12
2.修改RestTemplate的配置
@Bean
public RestTemplate restTemplate() throws Exception {
SSLContextBuilder builder = new SSLContextBuilder();
builder.loadTrustMaterial(null, new TrustSelfSignedStrategy());
SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(builder.build(), NoopHostnameVerifier.INSTANCE);
CloseableHttpClient httpClient
= HttpClients.custom()
.setSSLHostnameVerifier(new NoopHostnameVerifier())
.setSSLSocketFactory(sslConnectionSocketFactory)
.build();
HttpComponentsClientHttpRequestFactory requestFactory
= new HttpComponentsClientHttpRequestFactory();
requestFactory.setHttpClient(httpClient);
requestFactory.setConnectTimeout((int) Duration.ofSeconds(5).toMillis());
return new RestTemplate(requestFactory);
// return new RestTemplate();
}