Как установить аутентификацию TLS для клиента Джерси? - PullRequest
0 голосов
/ 24 апреля 2020

Существует сервер отдыха в приложении весенней загрузки 2.1 с самозаверяющими сертификатами и клиент отдыха в Джерси 2.26. Проверьте клиентское хранилище ключей из браузера и restTemplate (String). Хороший ответ сервера через https. Но я не могу установить хранилище ключей на клиенте Джерси:

public SecuredRestClient(){
        sslConfig = SslConfigurator.newInstance()
                .keyStoreFile("/path_to_keystore/client.p12")
                .keyStoreType("PKCS12")
                .keyStorePassword("client")
                .keyManagerFactoryAlgorithm("SunX509")
                .keyStoreProvider("SunJSSE")
                .securityProtocol("TLS");

        sslContext = sslConfig.createSSLContext();
        allHostsValid = (hostname, session) -> true;
    }
   Client  client = ClientBuilder.newBuilder().hostnameVerifier(allHostsValid)
                .sslContext(sslContext)
                .build();

по запросу на сервер, я получаю сообщение об ошибке:

Причина: sun.security.provider.certpath.SunCertPathBuilderException : невозможно найти действительный> путь сертификации к запрошенной цели

Та же ошибка возникла при комментировании

  .sslContext(sslContext)

Как правильно установить майку для использования TLS ??

...