Когда я вызываю стороннюю службу REST с моего компьютера, используя клиент jersey с базовой аутентификацией, вызов успешен.
Но когда я запускаю тот же код (и библиотеки) на машине unix, я получаю:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: сбой при построении пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрошенной цели
ClientConfig clientConfig = new ClientConfig();
Client client;
clientConfig.register(JacksonJsonProvider.class);
client = ClientBuilder.newClient(clientConfig);
HttpAuthenticationFeature feature = HttpAuthenticationFeature.basic(username, password);
clientConfig.register(feature);
client.register(feature);
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:397)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:302)
at sun.security.validator.Validator.validate(Validator.java:260)
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1496)