День добрый.
Сгенерировал 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.