Оригинальный вопрос был размещен здесь: Клиент Spring Boot SSL
jonashackt предоставил решение (прилагается ниже).Он отлично работает на моем labtop.Но когда я развертываю его как микросервис в Openshift (AWS), keystore.jks и tructstore.jks не могут быть найдены.Я поместил эти два файла в src / main / resources /.
У кого-нибудь есть идеи?Заранее большое спасибо!
Решение Йонашакта
@Configuration
public class RestClientCertTestConfiguration {
private String allPassword = "allpassword";
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) throws Exception {
SSLContext sslContext = SSLContextBuilder
.create()
.loadKeyMaterial(ResourceUtils.getFile("classpath:keystore.jks"), allPassword.toCharArray(), allPassword.toCharArray())
.loadTrustMaterial(ResourceUtils.getFile("classpath:truststore.jks"), allPassword.toCharArray())
.build();
HttpClient client = HttpClients.custom()
.setSSLContext(sslContext)
.build();
return builder
.requestFactory(new HttpComponentsClientHttpRequestFactory(client))
.build();
}
}