Определение простыми словами
Самоподписанный сертификат — это цифровой SSL-сертификат, который создан и подписан самим владельцем сервера без участия официального центра сертификации (ЦС). Такой сертификат обеспечивает шифрование данных между сервером и клиентом, но не подтверждает подлинность сайта перед пользователем через доверенную третью сторону.
В отличие от сертификатов, выданных авторитетными ЦС, самоподписанные сертификаты не включены в список доверенных в браузерах и системах, что приводит к предупреждениям об их безопасности.
Сравнение
| Параметр | Самоподписанный сертификат | Сертификат от ЦС |
|---|---|---|
| Издатель | Владелец сервера | Доверенный центр сертификации |
| Доверие браузера | Отсутствует, предупреждения | Признано, без предупреждений |
| Стоимость | Бесплатно | Платно или бесплатно |
| Использование | Внутренние сети, тестирование | Публичные сайты, сервисы |
| Гарантия подлинности | Нет | Есть |
Кейсы использования
- Тестовые и внутренние серверы, где нет необходимости в доверии извне.
- Лабораторные и учебные проекты для отработки SSL/TLS настроек.
- VPN и внутренние корпоративные сервисы с ограниченным доступом.
- Разработка и отладка приложений с HTTPS.
- Негативный пример: Использование самоподписанного сертификата на публичном сайте приведёт к предупреждениям в браузерах и снижению доверия пользователей.
Технические детали
Самоподписанный сертификат создаётся с помощью генерации ключевой пары (закрытый и открытый ключ), затем открытым ключом формируется сертификат, который подписывается закрытым ключом того же владельца. В OpenSSL это делается командой:
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes
Где параметр -x509 говорит о создании сертификата, а -nodes — чтобы не шифровать закрытый ключ. Полученный сертификат можно использовать для шифрования трафика, но браузеры определят его как ненадёжный.
Для работы с самоподписанными сертификатами в разных системах понадобятся дополнительные настройки доверия или импорт сертификатов в хранилище доверия.
Подробнее о других терминах см. в статьях: SSL, TLS, Центр сертификации (CA).
🔥 Где это применяется
Частые вопросы
Можно ли использовать самоподписанный сертификат на публичном сайте?
Можно, но браузеры покажут предупреждения, что может отпугнуть пользователей.
Как создать самоподписанный сертификат?
С помощью инструмента OpenSSL, например, командой "openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes".
В чем отличие самоподписанного сертификата от сертификата от ЦС?
Самоподписанный подписан владельцем и не вызывает доверия у браузеров, сертификат от ЦС подписывается проверенным центром и является надежным.