При запуске Java-программы (приложения, автотеста и пр., которая работает с веб-сервисами) происходит ошибка:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
Это означает, что используемый сертификат нужно добавить в список доверенных сертификатов jvm. Для этого нужно в консоли выполнить команду:
keytool -import -noprompt -trustcacerts -alias <alias> -file <certificate> -keystore "<path\to\java\cacerts>"
Например:
keytool -import -noprompt -trustcacerts -alias alias -file C:\\something.crt -keystore "C:\Program Files (x86)\Java\jre7\lib\security\cacerts"
Если запросит пароль, то дефолтный пароль для хранилища "changeit".
Консоль при этом надо запускать от имени администратора, иначе может возникнуть ошибка доступа к файлу cacerts Access Denied.
Просмотреть список имеющихся сертификатов можно с помощью команды:
keytool -list -v -keystore <keystore.file> -storepass <keystore.pass>
Для просмотра списка установленных сертификатов пароль не нужен (Можно просто нажать Enter, увидев в консоли запрос пароля)