Главная/Выбор и цены/Самоподписанный
Самоподписанный сертификат SSL: как создать и где применять
Самоподписанный сертификат подписан его же владельцем, а не центром сертификации: он бесплатный и шифрует трафик, но браузер показывает предупреждение, поэтому его ставят на localhost и во внутренние сервисы, а не на публичные сайты.
Ответ за 30 секунд
Самоподписанный сертификат бесплатный и шифрует трафик, но браузеры ему не доверяют. Ставьте его на localhost, тестовые стенды и внутренние сервисы, а публичному сайту нужен бесплатный Let's Encrypt.
На хостинге Таймвеб сертификат Let's Encrypt выпускается и продлевается автоматически, браузеры его принимают.
Где самоподписанный сертификат уместен, а где нет0 ₽стоимость сертификата
1 командаopenssl в Linux
localhostгде он уместен
01 · 1 мин
Что такое самоподписанный сертификат и почему браузер ему не верит#
Обычный сертификат подписывает центр сертификации, а браузер сверяет подпись с корневыми сертификатами, которые уже есть в системе. У самоподписанного подписывает тот же ключ, который он защищает, и цепочки к известному корню нет. Шифрование при этом работает так же, а доверия нет.
Поэтому Chrome показывает ошибку NET::ERR_CERT_AUTHORITY_INVALID, а другие браузеры выводят похожую страницу с предупреждением. Разбор причины и починки: сертификат не доверен.
Инструмент · 1 мин
Где самоподписанный сертификат уместен, а где нет#
| Ситуация | Самоподписанный |
|---|---|
| Разработка на своём компьютере, localhost | Подходит |
| Тестовый стенд, внутренние сервисы компании | Подходит, если сертификат добавлен в доверенные |
| Связь между собственными сервисами | Подходит |
| Публичный сайт, блог, магазин | Не подходит: посетители увидят предупреждение |
Подойдёт ли вам самоподписанный сертификат
Два вопроса, ответ сразу
Подробности про локальную разработку: SSL для localhost.
03 · 1 мин
Как создать самоподписанный сертификат SSL в Linux#
Одна команда openssl создаёт ключ и сертификат на год. Имя вписывают в SAN: браузеры сверяют адрес именно с ним, а не с полем CN. Вместо app.test подставьте своё имя.
openssl req -x509 -newkey rsa:2048 -nodes \
-keyout server.key -out server.crt -days 365 \
-subj "/CN=app.test" \
-addext "subjectAltName=DNS:app.test,DNS:localhost"
Параметр -addext работает в OpenSSL 1.1.1 и новее. Проверить результат:
openssl x509 -in server.crt -noout -subject -dates
Чтобы система и curl стали доверять сертификату, добавьте его в хранилище (Debian и Ubuntu):
sudo cp server.crt /usr/local/share/ca-certificates/server.crt
sudo update-ca-certificates
Firefox ведёт своё хранилище, сертификат добавляют в его настройках. Больше про openssl: команды openssl.
04 · 1 мин
Как создать самоподписанный сертификат SSL в Windows#
В Windows сертификат создаёт PowerShell, запущенный от имени администратора. Следующий набор команд создаёт сертификат на год и сохраняет его вместе с ключом в файл pfx (папка C:certs должна существовать):
$cert = New-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "Cert:\LocalMachine\My" -NotAfter (Get-Date).AddYears(1)
$pfxPass = Read-Host -AsSecureString "Пароль для pfx"
Export-PfxCertificate -Cert $cert -FilePath C:\certs\server.pfx -Password $pfxPass
Чтобы Windows и браузеры на этом компьютере доверяли сертификату, экспортируйте его без ключа и импортируйте в доверенные корневые:
Export-Certificate -Cert $cert -FilePath C:\certs\server.cer
Import-Certificate -FilePath C:\certs\server.cer -CertStoreLocation Cert:\LocalMachine\Root
Добавляйте в доверенные только свой сертификат
Сертификат в корневом хранилище считается центром сертификации для этого компьютера. Делайте это только для собственных сертификатов и только на своих устройствах.
05 · 1 мин
Чем заменить самоподписанный сертификат на публичном сайте#
Для сайта, который открывают посетители, самоподписанный не годится, а замена бесплатна: Let's Encrypt выдаёт сертификат на 90 дней с автопродлением, и браузеры ему доверяют. На хостинге он включается в панели. Что ещё выбирать между бесплатным и платным: выбор и цены.
06 · 1 мин
Вопросы о самоподписанном сертификате#
Как создать самоподписанный сертификат SSL в Linux?
Командой openssl req -x509 с ключами -newkey, -keyout, -out, -days и -addext для SAN. Полный пример с проверкой выше в разделе про Linux.
Как сделать самоподписанный SSL сертификат в Windows?
В PowerShell от администратора командой New-SelfSignedCertificate с параметром -DnsName. Экспорт в pfx делает Export-PfxCertificate.
Почему браузер не доверяет самоподписанному сертификату?
Его подписал сам владелец, а не центр сертификации, поэтому цепочка не ведёт к корневому сертификату из хранилища браузера.
Можно ли поставить самоподписанный сертификат на публичный сайт?
Технически можно, но каждый посетитель увидит предупреждение о небезопасном соединении. Для публичных сайтов берут бесплатный Let's Encrypt.
Почему этому можно верить
Как мы проверяли
Источники цифр на этой странице: Let's Encrypt: документация, letsencrypt.org/docs, проверено 19 октября 2026.
Бесплатный SSL на хостинге
На хостинге Таймвеб сертификат Let's Encrypt выпускается и продлевается автоматически, настраивать вручную ничего не нужно.
- Бесплатный SSL на каждый домен
- Автоматическое продление
- Включается в панели в один клик
- Поддержка 24/7