как указать расположение keystore.jks и truststore.jks в SSL-клиенте Spring Boot - PullRequest
0 голосов
/ 04 февраля 2019

Оригинальный вопрос был размещен здесь: Клиент 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();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...