При подключении через службу API java к удаленному серверу по протоколу https я получил следующее исключение
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Сервер - Windows Server 2012, на котором установлен соответствующий шаблонный сертификат, установленный как root сертификат тоже. Я использовал keytool для импорта того же сертификата в хранилище ключей, называемое cacerts, поэтому jvm использует его для предотвращения вышеуказанного исключения. Как показывает keytool, сертификат установлен правильно, но при подключении к серверу все еще возникает исключение рукопожатия.
Я проверил windows переменные среды на сервере и обнаружил, что JAVA_OPTS отсутствует. Даже попытался перезапустить весь сервер, но это тоже не помогло.
Чтобы заставить его работать, нужно ли добавить переменную среды вручную, ссылаясь на хранилище ключей, как показано ниже?
-Djavax.net.ssl.trustStore=C:\path\to\cacerts