Skip to content

MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT

Коротко:

Сертификат подписан сам собой, а не цепочкой доверенного CA. Firefox не может проверить подлинность и блокирует загрузку страницы. Для production: получить настоящий сертификат (Let's Encrypt бесплатно, certbot за 5 минут). Для dev/staging: использовать mkcert (создаёт local CA + сертификаты, доверяемые системой) или добавить exception в Firefox для одного хоста.

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

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

Детали

  • Self-signed = subject == issuer (тот же CN). openssl x509 -noout -issuer -subject покажет
  • Production: Let's Encrypt через certbot — automated 90-day cert + auto-renew. Бесплатно
  • Dev: mkcert — устанавливает local root CA + генерирует сертификаты, доверенные на машине
  • Exception в Firefox: «Дополнительно → Принять риск и продолжить» (только если вы доверяете хосту)
  • Internal infrastructure (corp): использовать internal CA + GPO/MDM-распространение root cert

Пример

# 1. Production fix — Let's Encrypt (Ubuntu, nginx)
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
# Auto-renew уже добавлен в /etc/cron.d/certbot

# 2. Dev fix — mkcert (macOS / Linux / Windows)
brew install mkcert  # или choco install mkcert
mkcert -install      # ставит local CA в системный trust store
mkcert example.local localhost 127.0.0.1
# Получите: example.local+2.pem (cert) + example.local+2-key.pem
# nginx: ssl_certificate /path/example.local+2.pem; ssl_certificate_key ...

# 3. Проверка типа сертификата
openssl x509 -in cert.pem -noout -issuer -subject
# Если issuer == subject — самоподписанный

Связанные

TL;DR: Как исправить ошибку MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT

Ошибка MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT возникает в Firefox, когда браузер не доверяет самоподписанному SSL-сертификату. Для исправления этой проблемы необходимо либо установить доверенный сертификат, либо добавить исключение для самоподписанного сертификата. Чтобы сделать это, перейдите в настройки безопасности Firefox, выберите 'Сертификаты', затем 'Просмотр сертификатов' и импортируйте самоподписанный сертификат.

Понимание ошибки MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT

Ошибка MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT возникает, когда браузер не может проверить подлинность сертификата, использованного веб-сайтом. Это особенно актуально для самоподписанных сертификатов, которые не были выданы авторитетным центром сертификации (CA). Браузеры, такие как Firefox, имеют встроенные механизмы проверки сертификатов, и если сертификат не может быть проверен, пользователю будет показано предупреждение о небезопасном соединении.

Самоподписанные сертификаты часто используются в тестовых или локальных средах, где нет необходимости в проверке подлинности. Однако их использование на производственных сайтах не рекомендуется, так как это может привести к проблемам с безопасностью и доверием пользователей.

Для того чтобы исправить эту ошибку, можно воспользоваться несколькими подходами:

  • Установить сертификат от доверенного CA: Наиболее надежный способ — получить сертификат от авторитетного центра сертификации, который будет признан всеми браузерами.
  • Добавить исключение: Если вы уверены в безопасности сайта, вы можете добавить исключение для самоподписанного сертификата в настройках Firefox.
  • Использовать инструменты для создания сертификатов: В случае тестирования можно использовать такие инструменты, как OpenSSL для генерации самоподписанного сертификата, который можно добавить в доверенные корневые сертификаты.

Практическое руководство: Как добавить самоподписанный сертификат в Firefox

Если вы решили использовать самоподписанный сертификат и столкнулись с ошибкой MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT, вам нужно добавить его в доверенные сертификаты вашего браузера. Вот пошаговое руководство, как это сделать:

  1. Создайте самоподписанный сертификат: Используйте команду OpenSSL, чтобы создать сертификат:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mycert.key -out mycert.crt
  1. Откройте Firefox и перейдите в настройки: Нажмите на меню в правом верхнем углу и выберите 'Настройки'.
  2. Перейдите в раздел 'Конфиденциальность и безопасность': Прокрутите вниз до секции 'Безопасность' и нажмите 'Просмотреть сертификаты'.
  3. Импортируйте сертификат: В открывшемся окне выберите вкладку 'Доверенные корневые сертификаты', затем нажмите 'Импорт'. Найдите и выберите ваш файл mycert.crt и нажмите 'Открыть'.
  4. Подтвердите добавление сертификата: Убедитесь, что сертификат добавлен и отмечен как доверенный. Закройте все окна настроек.

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

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

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

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

Можно ли в production оставить self-signed?

Нет — каждый посетитель увидит warning, поисковики помечают сайт как unsafe, формы не отправятся (mixed content). Let's Encrypt бесплатно и автоматизирован.

mkcert vs самоподпись openssl?

mkcert ставит local CA в trust store ОС — браузеры доверяют автоматически. openssl self-sign — нужно вручную добавлять exception в каждом браузере на каждой машине.

HSTS preload и self-signed?

Если домен в HSTS preload list — Firefox блокирует жёстко (даже exception недоступен). Делайте preload только после получения настоящего сертификата.

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

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