Skip to content

ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN: решение

Коротко:

NET::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN — браузер ожидал конкретный публичный ключ (HPKP/Certificate Transparency static pin) в цепочке сертификатов, но его нет. Причина: сайт сменил cert, а старый pin ещё не истёк (max-age). Исправление: очистить HSTS/pinning в Chrome (chrome://net-internals), дождаться истечения pin, или для static pins — обновление Chrome.

Эта ошибка блокирует HTTPS-доступ. Ниже: причины, исправление, рабочий конфиг, FAQ.

Причины ошибки

  • Сайт сменил SSL-cert, старый HPKP pin ещё валиден
  • Chrome static pin (встроенный в браузер) не совпадает
  • Corporate proxy с MITM-cert не в pin-list
  • Клиент взломал пин на предыдущем посещении
  • HPKP header сломан на сервере (max-age слишком большой)

Пошаговое исправление

  1. Перейдите на chrome://net-internals/#hsts → Delete domain → введите домен
  2. Очистите TLS state: chrome://net-internals/#sockets → Flush sockets
  3. Уберите HPKP header с сервера (он deprecated с 2018): Public-Key-Pins: max-age=0;
  4. Для static pins (например google.com, facebook.com) — только обновление Chrome
  5. Проверьте SSL через SSL-чекер — увидите актуальную цепочку

Проверить SSL-сертификат →

Пример: правильная настройка TLS в nginx

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_ciphers         ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
    ssl_prefer_server_ciphers off;

    ssl_stapling        on;
    ssl_stapling_verify on;
}

Смежные SSL-ошибки

СертификатСрок, издатель, домены (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)

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

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

Что такое HPKP и почему deprecated?

HTTP Public Key Pinning — механизм, привязывающий домен к конкретным публичным ключам. Chrome 72+ удалил поддержку (2018) из-за риска потери доступа к домену при ошибке настройки.

Static pinning в Chrome — что это?

Chrome встроенно хранит pins для ~50 крупных сайтов (Google, Facebook, Twitter). Не отключается через UI. Защищает от MITM-атак на эти домены.

Как полностью сбросить Chrome state для домена?

chrome://net-internals/#hsts → Delete domain. Также очистите cookies/cache для домена. Перезапустите Chrome.

Expect-CT header — замена HPKP?

Нет. Expect-CT требует сертификат в CT-логах (Certificate Transparency), не pinning. Тоже deprecated с 2022 — CT теперь enforced автоматически.