Skip to content

SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE

Коротко:

Эта ошибка значит, что промежуточный (intermediate) сертификат удостоверяющего центра в цепочке вашего сайта истёк, хотя ваш собственный сертификат ещё валиден. Браузер не может проверить подпись и показывает «Защищённое соединение не установлено». Решение — обновить intermediate в bundle вашего веб-сервера (Let's Encrypt fullchain.pem, бандл от Sectigo/DigiCert и т. д.).

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

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

Детали

  • Отличается от SEC_ERROR_EXPIRED_CERTIFICATE: там истёк ВАШ сертификат, тут — CA в цепочке
  • Часто возникает после миграции сервера без копирования fullchain.pem (только cert.pem)
  • Проверить цепочку: openssl s_client -connect host:443 -servername host -showcerts
  • Каждый блок в выводе — отдельный сертификат; для каждого openssl x509 -noout -dates показывает notBefore/notAfter
  • Let's Encrypt: правильный файл — fullchain.pem (cert + intermediate), а не cert.pem

Пример

# Проверить цепочку и даты
echo | openssl s_client -connect example.com:443 -servername example.com -showcerts 2>/dev/null | \
  awk '/BEGIN CERT/,/END CERT/' | csplit -z -f cert- - '/BEGIN CERT/' '{*}' >/dev/null

for f in cert-*; do
  echo "--- $f ---"
  openssl x509 -noout -subject -dates -issuer < "$f"
done

# Если у intermediate notAfter < сегодня — нужно обновить bundle.
# Для nginx: ssl_certificate /path/to/fullchain.pem  (НЕ cert.pem)
# Для Apache:
#   SSLCertificateFile     /path/to/cert.pem
#   SSLCertificateChainFile /path/to/chain.pem  (или fullchain в едином файле)

Связанные

Как исправить ошибку SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE в Firefox

Ошибка SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE возникает в браузере Firefox, когда сертификат удостоверяющего центра (CA), который выдает SSL-сертификат для сайта, истек. Чтобы исправить эту ошибку, необходимо обновить сертификат на сервере или установить новый сертификат от действующего CA. Убедитесь, что сертификаты в цепочке доверия актуальны и не истекли.

Проверка и обновление SSL-сертификата

Первым шагом в исправлении ошибки SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE является проверка актуальности SSL-сертификата. Для этого можно использовать команду openssl в терминале. Выполните следующую команду:

openssl s_client -connect ваш_домен:443 -showcerts

Эта команда позволит вам увидеть информацию о сертификате, включая дату истечения срока действия. Если сертификат действительно истек, необходимо обновить его.

Для обновления сертификата выполните следующие шаги:

  1. Выберите удостоверяющий центр (CA), который будет выдавать сертификат.
  2. Сгенерируйте запрос на сертификат (CSR) с помощью команды:
openssl req -new -newkey rsa:2048 -nodes -keyout ваш_домен.key -out ваш_домен.csr
  1. Отправьте CSR в выбранный CA и получите новый сертификат.
  2. Установите новый сертификат на сервере, заменив старый. Для Apache это может выглядеть так:
SSLCertificateFile /путь/к/вашему_сертификату.crt
SSLCertificateKeyFile /путь/к/вашему_домену.key
SSLCertificateChainFile /путь/к/цепочке_сертификатов.crt

После установки нового сертификата перезапустите веб-сервер, чтобы изменения вступили в силу.

Проверка цепочки сертификатов и устранение проблем

После обновления сертификата важно проверить, что цепочка сертификатов корректная. Неверная или неполная цепочка может также вызвать ошибку SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE. Чтобы проверить цепочку, снова используйте команду openssl:

openssl s_client -connect ваш_домен:443 -showcerts

Обратите внимание на вывод команды. Вы должны увидеть все сертификаты в цепочке от вашего SSL-сертификата до корневого сертификата CA. Если какой-либо сертификат в цепочке истек, вам необходимо обновить и его.

Также можно использовать онлайн-сервисы, такие как SSL Labs, для анализа вашего SSL-сертификата и цепочки доверия. Эти инструменты предоставляют подробную информацию о проблемах с сертификатом и помогут вам в их устранении.

Если после всех проверок ошибка все еще возникает, попробуйте очистить кэш браузера и сбросить настройки безопасности:

  1. Откройте настройки Firefox.
  2. Перейдите в раздел "Конфиденциальность и безопасность".
  3. Нажмите "Очистить данные" в разделе "Кэшированный веб-контент".

Это может помочь устранить проблемы, связанные с устаревшими данными о сертификатах.

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

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

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

Можно ли «починить» в браузере?

Нет — это серверная проблема, кнопки «принять риск» не помогут (Firefox блокирует жёстко). Только обновить bundle на сервере.

Срок Let's Encrypt intermediate — сколько?

Текущий R3 intermediate (с 2024-09): валиден до 2029-09. До этого был X3 с 2021-09. Авто-renew через certbot обновляет и leaf, и intermediate.

Почему Chrome не показывает ошибку?

Chrome может иметь intermediate в собственном CRLite-кеше и достроить цепочку. Firefox строго требует полный bundle от сервера.

Запустить инструмент, который описан в этой статье

Бесплатный тариф — 20 мониторов, проверки раз в 5 минут, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.