Skip to content

"Trust anchor for certification path not found"

Коротко:

Android бросает эту ошибку (java.security.cert.CertPathValidatorException), когда сертификат сервера подписан CA, которого нет в Android system truststore. 3 причины: (1) self-signed или private CA, (2) неполная chain — сервер не шлёт intermediate, (3) устаревший Android < 7 не знает новые CAs (Let's Encrypt R3 с 2021). Фикс: install full chain на сервере или добавить CA в network_security_config.xml.

Ниже: подробности, пример, связанные, FAQ.

Попробовать бесплатно →

Детали

  • Проверка chain: openssl s_client -connect host:443 -showcerts — должно быть 2+ certs
  • Android 7+ поддерживает Let's Encrypt. Android < 7 — нужен ISRG Root X1 cross-signed
  • network_security_config.xml — per-app trust config (API 24+)
  • Не работает с Google Play — certificate pinning у apps
  • Альтернатива: apps using OkHttp с кастомным TrustManager

Пример

<!-- res/xml/network_security_config.xml -->
<network-security-config>
  <base-config>
    <trust-anchors>
      <certificates src="system"/>
      <certificates src="@raw/my_ca"/>  <!-- res/raw/my_ca.pem -->
    </trust-anchors>
  </base-config>
</network-security-config>

<!-- AndroidManifest.xml -->
<application android:networkSecurityConfig="@xml/network_security_config" ...>

Связанные

СертификатСрок, издатель, домены (SAN)
ЦепочкаПроверка промежуточных и корневых CA
TLS-протоколВерсия TLS и набор шифров
УязвимостиHeartbleed, POODLE, слабые шифры

Почему нам доверяют

TLS 1.3
поддержка
Полная
цепочка CA
<2с
результат
30/14/7
дней до истечения

Как это работает

1

Введите домен

2

Проверка цепочки TLS

3

Дата истечения и уязвимости

Что проверяет SSL-тест?

SSL/TLS — протокол шифрования, который защищает данные между браузером и сервером. Наш инструмент анализирует сертификат, цепочку доверия, версию TLS и известныеуязвимости.

Детали сертификата

Издатель, срок действия, алгоритм подписи, покрываемые домены (SAN) и тип валидации (DV/OV/EV).

Цепочка доверия

Проверка полной цепочки: от конечного сертификата через промежуточные до корневого CA.

Анализ TLS

Версия протокола (TLS 1.2/1.3), набор шифров, поддержка Perfect Forward Secrecy (PFS).

Оповещения об истечении

Создайте монитор — получайте уведомления в Telegram и email за 30/14/7 дней до истечения.

DV vs OV vs EV сертификаты

DV (Domain Validation)
  • Подтверждение только владения доменом
  • Выдаётся за минуты автоматически
  • Бесплатно через Let's Encrypt
  • Подходит для большинства сайтов
  • Самый распространённый тип
OV / EV
  • Проверка организации (OV) или расширенная проверка (EV)
  • Выдаётся за 1-5 рабочих дней
  • Стоимость от $50 до $500/год
  • Для финансов, e-commerce, госсайтов
  • Повышает доверие пользователей

Кому это нужно

DevOps

мониторинг SSL-сертификатов

Безопасность

аудит TLS-конфигурации

SEO

HTTPS как фактор ранжирования

E-commerce

доверие покупателей

Частые ошибки

Истёкший сертификатБраузеры блокируют сайт с истёкшим SSL. Настройте автопродление или мониторинг.
Неполная цепочка сертификатовБез промежуточного CA некоторые браузеры и боты не смогут верифицировать сертификат.
Mixed content на HTTPS-сайтеHTTP-ресурсы на HTTPS-странице — замок в браузере пропадает, снижается доверие.
Использование TLS 1.0/1.1Устаревшие версии TLS содержат известные уязвимости. Используйте TLS 1.2+ или 1.3.
Несовпадение домена в сертификатеСертификат должен покрывать все домены сайта, включая www и поддомены.

Лучшие практики

Настройте автопродлениеLet's Encrypt + certbot с cron — сертификат обновляется автоматически каждые 60-90 дней.
Включите HSTSЗаголовок Strict-Transport-Security заставляет браузер всегда использовать HTTPS.
Используйте TLS 1.3TLS 1.3 быстрее (1-RTT handshake) и безопаснее — убраны устаревшие шифры.
Мониторьте срок действияСоздайте монитор на Enterno.io — получайте уведомления задолго до истечения.
Проверяйте цепочку после обновленияПосле обновления сертификата убедитесь, что промежуточные сертификаты установлены.

Получите больше с бесплатным аккаунтом

Мониторинг SSL-сертификатов, история проверок и уведомления за 30 дней до истечения.

Зарегистрироваться (FREE)

Больше по теме

Часто задаваемые вопросы

Как проверить chain быстро?

curl -v https://host 2>&1 | grep -i \"issuer\|depth\|ssl\". Либо enterno.io/ssl — видно intermediate + leaf.

LE на Android < 7?

ISRG Root X1 cross-signed через DST Root CA X3. Expired 30 Sep 2021, LE возобновил cross-sign — работает до 2025+.

App-level vs system-level?

network_security_config — per-app (API 24+). Для tablet-wide — need rooted device + push CA в /system/etc/security/cacerts/.