mdoTomofumi Chiba
4/24/2024, 10:20:47 AM

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));
}

長い。。
参考: https://stackoverflow.com/a/76063741

TweetLike