Skip to content
EN

SEC_ERROR_INADEQUATE_KEY_USAGE

Коротко:

SEC_ERROR_INADEQUATE_KEY_USAGE — Firefox: cert содержит Key Usage extension (keyUsage), но required bits отсутствуют для server auth. Нужны: digitalSignature + keyEncipherment (RSA) или digitalSignature (ECDSA). Или Extended Key Usage (EKU) не содержит serverAuth. Fix: перевыпустить через CA с правильными extensions.

Ниже: причины, исправление, FAQ.

Проверить SSL своего сайта →

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

  • Cert issued без digitalSignature/keyEncipherment
  • Extended Key Usage не содержит TLS Web Server Authentication
  • CA compromise forced narrow key usage restriction
  • Reused client cert для server (wrong EKU)
  • Code-signing cert put to HTTPS (wrong EKU)

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

  1. Перевыпустите через Let's Encrypt — EKU + Key Usage правильные по default
  2. Проверьте: openssl x509 -in cert.pem -text | grep -A2 "Key Usage"
  3. Required bits: Digital Signature + Key Encipherment для RSA
  4. Required EKU: TLS Web Server Authentication
  5. Enterno SSL Checker — покажет недостающие KU

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

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

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

Ошибка SEC_ERROR_INADEQUATE_KEY_USAGE в Firefox возникает, когда сертификат SSL не соответствует требованиям использования ключа. Для решения проблемы необходимо проверить настройки сертификата и убедиться, что он поддерживает необходимые расширения, такие как keyUsage и extendedKeyUsage. В случае необходимости следует обновить сертификат или его настройки на сервере.

Причины возникновения ошибки SEC_ERROR_INADEQUATE_KEY_USAGE

Ошибка SEC_ERROR_INADEQUATE_KEY_USAGE возникает, когда браузер не может подтвердить допустимость использования ключа, содержащегося в SSL-сертификате. Это может быть вызвано несколькими причинами:

  • Отсутствие необходимых расширений: Сертификат может не содержать расширения keyUsage и extendedKeyUsage, которые указывают, как можно использовать ключи.
  • Неправильные настройки сертификата: Сертификат может быть неправильно настроен, что приводит к его недействительности для определенных типов соединений.
  • Использование устаревших сертификатов: Старые сертификаты могут не поддерживать современные стандарты безопасности, что также может привести к данной ошибке.

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

Как проверить и исправить настройки сертификата

Для начала вам нужно проверить текущие настройки вашего SSL-сертификата. Это можно сделать с помощью команды OpenSSL. Выполните следующую команду в терминале:

openssl x509 -in ваш_сертификат.crt -text -noout

В результате вы получите информацию о сертификате, включая его расширения. Обратите внимание на разделы Key Usage и Extended Key Usage. Например:

Key Usage: Digital Signature, Key Encipherment

Если в этих разделах отсутствуют необходимые параметры, вам потребуется создать новый сертификат с правильными настройками. Для этого можно использовать OpenSSL с соответствующими параметрами:

openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyusage digitalSignature -extendedKeyUsage serverAuth -out ваш_новый_сертификат.crt

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

sudo systemctl restart apache2

После перезапуска проверьте, исчезла ли ошибка, открыв сайт в Firefox. Если все выполнено правильно, браузер должен корректно установить соединение без ошибок.

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

Ошибка SEC_ERROR_INADEQUATE_KEY_USAGE в Firefox возникает из-за неправильных настроек сертификата, который не поддерживает необходимые ключевые параметры для безопасного соединения. Чтобы исправить эту ошибку, проверьте настройки вашего SSL/TLS сертификата и убедитесь, что он включает ключевыеUsage, соответствующие стандартам, таким как Server Authentication и Client Authentication. Обновите сертификат или измените его настройки, если это необходимо.

Проверка и обновление сертификата для устранения ошибки SEC_ERROR_INADEQUATE_KEY_USAGE

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

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

  1. Используйте команду openssl x509 -in your_certificate.crt -text -noout, чтобы посмотреть информацию о сертификате.
  2. Обратите внимание на раздел Key Usage. Он должен содержать Digital Signature и Key Encipherment для серверной аутентификации.
  3. Если в сертификате отсутствуют необходимые ключевые Usage, вам необходимо обновить сертификат, запросив его у вашего провайдера SSL или создав новый с правильными параметрами.

Пример запроса сертификата с необходимыми параметрами:

openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out request.csr -subj "/C=RU/ST=Moscow/L=Moscow/O=Example Company/CN=example.com" -addext "keyUsage=digitalSignature,keyEncipherment"

После получения обновленного сертификата убедитесь, что вы правильно настроили веб-сервер для его использования. Например, для Apache это можно сделать, добавив следующие строки в конфигурацию:

SSLCertificateFile /path/to/your_certificate.crt
SSLCertificateKeyFile /path/to/private.key
SSLCertificateChainFile /path/to/chain.pem

После внесения изменений перезапустите веб-сервер командой sudo systemctl restart apache2 (для Apache) или sudo systemctl restart nginx (для Nginx). Это позволит обновить настройки и устранить ошибку SEC_ERROR_INADEQUATE_KEY_USAGE.

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

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

Источники

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

Разница Key Usage vs EKU?

Key Usage — primary уровень: что cert может криптографически делать (sign, encrypt). EKU — constraining уровень: для каких applications allowed (server auth, client auth, email, code signing).

Minimum set для HTTPS?

RSA: KU=digitalSignature,keyEncipherment + EKU=serverAuth. ECDSA: KU=digitalSignature + EKU=serverAuth.

Private CA нужно адаптировать?

Да. В OpenSSL config: <code>keyUsage=digitalSignature,keyEncipherment</code> + <code>extendedKeyUsage=serverAuth</code>.

Firefox strict, Chrome нет?

Firefox исторически строже с KU validation. Chrome тоже проверяет, но warnings иногда глуше.

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

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