diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/configuration/ClientHttpRequestFactoryFactory.java b/spring-credhub-core/src/main/java/org/springframework/credhub/configuration/ClientHttpRequestFactoryFactory.java index bcd62dc..c25ca7e 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/configuration/ClientHttpRequestFactoryFactory.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/configuration/ClientHttpRequestFactoryFactory.java @@ -29,7 +29,7 @@ import org.apache.hc.client5.http.impl.classic.HttpClients; import org.apache.hc.client5.http.impl.io.BasicHttpClientConnectionManager; import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager; import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder; -import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory; +import org.apache.hc.client5.http.ssl.DefaultClientTlsStrategy; import org.apache.hc.core5.http.io.SocketConfig; import org.apache.hc.core5.util.Timeout; @@ -135,21 +135,21 @@ public final class ClientHttpRequestFactoryFactory { if (usingCustomCerts(options)) { SSLContext sslContext = sslCertificateUtils.getSSLContext(options.getCaCertFiles()); - SSLConnectionSocketFactory sslSocketFactory = new SSLConnectionSocketFactory(sslContext); + DefaultClientTlsStrategy tlsStrategy = new DefaultClientTlsStrategy(sslContext); PoolingHttpClientConnectionManager connectionManager = PoolingHttpClientConnectionManagerBuilder .create() - .setSSLSocketFactory(sslSocketFactory) + .setTlsSocketStrategy(tlsStrategy) .setDefaultSocketConfig(socketConfig) .build(); httpClientBuilder.setConnectionManager(connectionManager); } else { SSLContext sslContext = SSLContext.getDefault(); - SSLConnectionSocketFactory sslSocketFactory = new SSLConnectionSocketFactory(sslContext); + DefaultClientTlsStrategy tlsStrategy = new DefaultClientTlsStrategy(sslContext); PoolingHttpClientConnectionManager connectionManager = PoolingHttpClientConnectionManagerBuilder .create() .useSystemProperties() - .setSSLSocketFactory(sslSocketFactory) + .setTlsSocketStrategy(tlsStrategy) .setDefaultSocketConfig(socketConfig) .build(); httpClientBuilder.setConnectionManager(connectionManager); diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/core/CredHubRestTemplateFactory.java b/spring-credhub-core/src/main/java/org/springframework/credhub/core/CredHubRestTemplateFactory.java index a3caae7..f329e1b 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/core/CredHubRestTemplateFactory.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/core/CredHubRestTemplateFactory.java @@ -36,15 +36,16 @@ import org.springframework.http.converter.json.MappingJackson2HttpMessageConvert import org.springframework.security.oauth2.client.OAuth2AuthorizedClientManager; import org.springframework.security.oauth2.client.OAuth2AuthorizedClientProvider; import org.springframework.security.oauth2.client.OAuth2AuthorizedClientProviderBuilder; -import org.springframework.security.oauth2.client.endpoint.DefaultClientCredentialsTokenResponseClient; import org.springframework.security.oauth2.client.endpoint.OAuth2AccessTokenResponseClient; import org.springframework.security.oauth2.client.endpoint.OAuth2ClientCredentialsGrantRequest; +import org.springframework.security.oauth2.client.endpoint.RestClientClientCredentialsTokenResponseClient; import org.springframework.security.oauth2.client.http.OAuth2ErrorResponseErrorHandler; import org.springframework.security.oauth2.client.registration.ClientRegistration; import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository; import org.springframework.security.oauth2.client.web.DefaultOAuth2AuthorizedClientManager; import org.springframework.security.oauth2.client.web.OAuth2AuthorizedClientRepository; import org.springframework.security.oauth2.core.http.converter.OAuth2AccessTokenResponseHttpMessageConverter; +import org.springframework.web.client.RestClient; import org.springframework.web.client.RestTemplate; import org.springframework.web.util.DefaultUriBuilderFactory; @@ -181,17 +182,17 @@ final class CredHubRestTemplateFactory { private static OAuth2AccessTokenResponseClient buildTokenResponseClient( ClientHttpRequestFactory clientHttpRequestFactory) { - DefaultClientCredentialsTokenResponseClient tokenResponseClient = new DefaultClientCredentialsTokenResponseClient(); - tokenResponseClient.setRestOperations(createTokenServerRestTemplate(clientHttpRequestFactory)); + RestClientClientCredentialsTokenResponseClient tokenResponseClient = new RestClientClientCredentialsTokenResponseClient(); + tokenResponseClient.setRestClient(createTokenServerRestClient(clientHttpRequestFactory)); return tokenResponseClient; } - private static RestTemplate createTokenServerRestTemplate(ClientHttpRequestFactory clientHttpRequestFactory) { + private static RestClient createTokenServerRestClient(ClientHttpRequestFactory clientHttpRequestFactory) { RestTemplate restOperations = new RestTemplate( Arrays.asList(new FormHttpMessageConverter(), new OAuth2AccessTokenResponseHttpMessageConverter())); restOperations.setErrorHandler(new OAuth2ErrorResponseErrorHandler()); restOperations.setRequestFactory(clientHttpRequestFactory); - return restOperations; + return RestClient.create(restOperations).mutate().build(); } /**