Java SSLException "PKIX path building failed: unable to find valid certification path to requested target" — Java не может построить цепочку доверия. JVM truststore ($JAVA_HOME/lib/security/cacerts) не содержит CA или intermediate сервера. Фиксы: (1) keytool -import в cacerts, (2) -Djavax.net.ssl.trustStore для alternate truststore, (3) -Djavax.net.debug=ssl,handshake для диагностики.
Ниже: подробности, пример, связанные, FAQ.
# Скачать CA cert с сервера
$ echo | openssl s_client -connect server:443 -showcerts 2>/dev/null | \
openssl x509 -out server-ca.crt
# Import в Java cacerts
$ sudo /bin/keytool -import \
-alias server-ca \
-keystore /lib/security/cacerts \
-storepass changeit \
-file server-ca.crt
# Debug app
$ java -Djavax.net.debug=ssl:handshake MyAppSSL/TLS — протокол шифрования, который защищает данные между браузером и сервером. Наш инструмент анализирует сертификат, цепочку доверия, версию TLS и известныеуязвимости.
Издатель, срок действия, алгоритм подписи, покрываемые домены (SAN) и тип валидации (DV/OV/EV).
Проверка полной цепочки: от конечного сертификата через промежуточные до корневого CA.
Версия протокола (TLS 1.2/1.3), набор шифров, поддержка Perfect Forward Secrecy (PFS).
Создайте монитор — получайте уведомления в Telegram и email за 30/14/7 дней до истечения.
мониторинг SSL-сертификатов
аудит TLS-конфигурации
HTTPS как фактор ранжирования
доверие покупателей
www и поддомены.Strict-Transport-Security заставляет браузер всегда использовать HTTPS.Мониторинг SSL-сертификатов, история проверок и уведомления за 30 дней до истечения.
Зарегистрироваться (FREE)Скопировать в app-specific jks + -Djavax.net.ssl.trustStore. Обновление JDK не сбросит.
Для dev: TrustManager который принимает всё. НЕ включать в prod код.
-Djavax.net.ssl.trustStore в MAVEN_OPTS / GRADLE_OPTS, или <jvmArgs> в build файлах.