Spring Boot 3 の RestClient で証明書のエラーを無視する
Spring Boot 3 になって RestTemplate で証明書のエラーを無視する方法が分からなくなった。RestClient では成功した。
public static RestClient.Builder ignoreCertificateErrors(RestClient.Builder builder)
throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException {
var context = SSLContexts.custom().loadTrustMaterial(null, TrustAllStrategy.INSTANCE).build();
var factory = SSLConnectionSocketFactoryBuilder.create()
.setSslContext(context)
.setHostnameVerifier((s, sslSession) -> true)
.build();
var manager = PoolingHttpClientConnectionManagerBuilder.create()
.setSSLSocketFactory(factory)
.build();
var httpClient = HttpClients.custom().setConnectionManager(manager).build();
return builder.requestFactory(new HttpComponentsClientHttpRequestFactory(httpClient));
}