@evrikom

Как установить в Jersey client сертификат для аутендификации на сервере?

День добрый.
Сгенерировал x.509 сертификаты сервера и клиента,keystore,truststore на основе статьи
"https://dzone.com/articles/securing-rest-apis-with..."
На сервере(Spring-boot 2.1) включил https. Импортировал клиентский keystore(.p12) в браузер, сервер отвечает, все ок.
На java клиенте использую jersey client 2.26

настройка следующая:
HostnameVerifier allHostsValid = (hostname, session) -> true;
 SslConfigurator sslConfig = SslConfigurator.newInstance()
                    .keyStoreFile("/path/to/client/keystore/client.p12")
                    .keyStoreType("PKCS12")
                    .keyPassword("password");

  SSLContext sslContext = sslConfig.createSSLContext();
  Client client = ClientBuilder.newBuilder()
                                            .sslContext(sslContext)
                                            .hostnameVerifier(allHostsValid)
                                            .register(feature)
                                            .build();

При запросе к серверу получаю:
SunCertPathBuilderException: unable to find valid certification path to requested target

С закомментированной строкой
.sslContext(getSslContext(
)) та же самая ошибка.
т.к. связка сервер-браузер работает, погагаю неправильно настраиваю jersey client.
  • Вопрос задан
  • 37 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы