SSL-сертификаты: бесплатные (Let's Encrypt) и коммерческие
Когда достаточно бесплатного сертификата Let's Encrypt, когда нужен коммерческий, как его заказать и установить.
На этой странице
SSL-сертификат (TLS) нужен, чтобы сайт открывался по HTTPS. На странице «SSL-сертификаты — бесплатные и коммерческие» (blackbox.md/ru/domains/ssl, меню «Домены» → «SSL-сертификаты») описаны два варианта. Сертификат Let's Encrypt бесплатный, и вы устанавливаете его на сервер сами. Коммерческий сертификат запрашивается через поддержку, а команда BLACKBOX присылает вам предложение. В панели app.blackbox.md раздела для сертификатов нет.
Доступно: Let's Encrypt — всем, у кого есть root-доступ к серверу. Коммерческий сертификат — запросить предложение может любой посетитель blackbox.md по email или телефону, а владельцы аккаунта blackbox.md — ещё и через тикет.
Какой сертификат вам нужен
| Let's Encrypt | Коммерческий сертификат | |
|---|---|---|
| Цена | бесплатно | по предложению |
| Что проверяет центр сертификации (CA) | только контроль над доменом (DV) | домен (DV) или домен и компанию (OV, EV) |
| Срок действия и продление | 90 дней, certbot продлевает автоматически | задаёт CA, не более 200 дней; продление — по запросу через поддержку |
Wildcard *.example.com |
да, с проверкой через DNS | да, в вариантах DV и OV |
| Финансовая гарантия (warranty) | нет | есть, зависит от продукта |
| Как получить | самостоятельно, через certbot на сервере | по запросу через поддержку |
Большинству сайтов — блогам, сайтам-визиткам, интернет-магазинам, приложениям и API — вполне хватает Let's Encrypt. Шифрование у него такое же, как у коммерческого сертификата, и браузер показывает сайт точно так же.
Коммерческий сертификат стоит выбрать, если:
- нужна проверка организации, то есть название компании должно быть указано в сертификате (OV или EV);
- договор, банк или платёжный провайдер требует финансовую гарантию (warranty) от CA;
- клиент или партнёр требует определённый вид сертификата или определённый CA;
- вы работаете со старой системой или устройством, которые не принимают Let's Encrypt или не умеют продлевать сертификат автоматически.
Let's Encrypt: бесплатный сертификат
- Его выпускает Let's Encrypt — некоммерческий центр сертификации. Он проверяет только то, что домен принадлежит вам.
- Сертификат действует 90 дней. Таймер certbot автоматически продлевает его за несколько недель до окончания срока. В Ubuntu и Debian таймер запускается сам, а в AlmaLinux и CentOS Stream его нужно включить вручную — как это сделать, описано в руководстве ниже.
- При обычной проверке по HTTP домен уже должен указывать на IP сервера, а порт 80 — быть доступен из интернета. См. Как направить домен на сервер.
- Wildcard-сертификат (
*.example.com) выпускается только с проверкой через DNS — TXT-записью_acme-challenge. Для автоматического продления используйте плагин certbot для вашего DNS-провайдера (например, Cloudflare). При ручной проверке (--manual) сертификат автоматически не продлевается. - CSR вам не нужен: certbot создаёт его сам.
Пошаговая установка для nginx и Apache: Веб-сервер с HTTPS: nginx или Apache и Let's Encrypt.
Первая команда ниже показывает установленные сертификаты и даты окончания их срока. Вторая имитирует продление, не выпуская новый сертификат.
certbot certificates
certbot renew --dry-runВиды коммерческих сертификатов
| Вид | Что проверяет CA | Когда выбирать |
|---|---|---|
| DV (Domain Validation) | только контроль над доменом: DNS-запись, файл на сайте или письмо на адрес в этом домене | нужна финансовая гарантия или определённый CA, но название компании в сертификате не требуется |
| OV (Organization Validation) | домен и наличие компании в официальных реестрах | сайты компаний; название компании указывается в сертификате |
| EV (Extended Validation) | расширенная проверка компании | партнёр или договор прямо требует EV; современные браузеры зелёную строку больше не показывают |
Wildcard (*.example.com) |
как у DV или OV | много поддоменов одного уровня (api.example.com, shop.example.com); не покрывает a.b.example.com, в варианте EV не выпускается |
| SAN / мультидоменный | как у DV, OV или EV | несколько разных доменов в одном сертификате, например example.com и example.com |
Проверка OV и EV занимает больше времени, чем DV: CA проверяет документы компании.
Как заказать коммерческий сертификат
- Откройте страницу «SSL-сертификаты — бесплатные и коммерческие» (
blackbox.md/ru/domains/ssl). - Нажмите «Запросить коммерческий SSL» в верхней части страницы. Откроется страница «Контакты».
- Выберите канал связи: тикет («Личный кабинет» → «Помощь и поддержка» → «Новый тикет»), письмо на support@blackbox.md, звонок или сообщение в WhatsApp на номер +373 78 003948 (пн–пт, 09:00–18:00 по времени Молдовы).
- В тикете в поле «Тема» напишите, например, «Запрос предложения: SSL-сертификат OV для example.com». В поле «Сервер (необязательно)» укажите название или IP сервера, на который будете устанавливать сертификат.
- В поле «Опишите проблему» перечислите данные из таблицы ниже и нажмите «Отправить тикет».
- Команда ответит предложением с ценой и условиями.
- Пройдите проверку по полученным инструкциям. Для DV подтвердите контроль над доменом, для OV и EV подготовьте документы компании.
- После выпуска вы получите файлы сертификата. Как их установить, описано ниже.
| Что указать | Подробности |
|---|---|
| Вид сертификата | DV, OV или EV; обычный, wildcard или SAN. Если не знаете, что выбрать, опишите, для чего нужен сертификат. |
| Домены | все имена, включая варианты с www и без |
| Компания (для OV и EV) | точное название, IDNO, адрес и контактное лицо |
| CSR | текст CSR, если вы его уже сгенерировали |
| Особые требования | например, определённый CA по требованию партнёра или помощь с установкой |
Форма тикета по шагам: Создание тикета в поддержку.
Важно На странице «SSL-сертификаты» указаны ориентировочные цены. Действуют цена и условия из предложения команды.
CSR и приватный ключ
CA выпускает коммерческий сертификат на основе CSR (Certificate Signing Request) — запроса, в котором содержатся публичный ключ и имена доменов. Его можно сгенерировать в браузере: «Домены» → «Генератор CSR» (blackbox.md/ru/domains/csr). Генератор показывает два блока — «Приватный ключ (.key)» и «CSR (.csr) — отправьте в CA». Кнопкой «Скачать» в каждом блоке их можно сохранить в файлы, названные по Common Name, например www.example.com.key. Подробно: Генератор CSR в браузере. Перед отправкой проверьте CSR по статье Проверка CSR или сертификата с помощью openssl.
Безопасность Отправляйте только CSR. Приватный ключ (
.key) никому не пересылайте — ни в тикете, ни по email. Храните его в надёжном месте: без него выпущенный сертификат не установить. Если ключ потерян, понадобятся новый CSR и перевыпуск сертификата.
Как установить коммерческий сертификат
Веб-сервер настраивается так же, как для Let's Encrypt, — меняются только пути к файлам. Понадобятся:
| Файл | Что это |
|---|---|
сертификат домена (обычно .crt) |
выпущен CA для имён из CSR |
промежуточная цепочка (CA bundle, .ca-bundle или .crt) |
промежуточные сертификаты CA; без них некоторые браузеры и приложения не доверяют сайту |
приватный ключ (.key) |
уже есть у вас: он создан вместе с CSR |
В командах ниже ДОМЕН — имя домена, а ДОМЕН.crt и ca-bundle.crt — полученные файлы. Подставьте реальные имена своих файлов.
На сервере создайте каталог для файлов:
mkdir -p /etc/ssl/ДОМЕН chmod 700 /etc/ssl/ДОМЕНСкопируйте файлы со своего компьютера на сервер (Передача файлов на сервер (scp, rsync, SFTP)):
scp ДОМЕН.key ДОМЕН.crt ca-bundle.crt root@IP_СЕРВЕРА:/etc/ssl/ДОМЕН/На сервере объедините сертификат и промежуточную цепочку в один файл — сертификат домена должен идти первым. Затем закройте доступ к ключу для других пользователей:
cd /etc/ssl/ДОМЕН cat ДОМЕН.crt ca-bundle.crt > fullchain.pem chmod 600 ДОМЕН.keyУкажите файлы в конфигурации сайта. Для nginx — в блоке
serverсlisten 443 ssl:ssl_certificate /etc/ssl/ДОМЕН/fullchain.pem; ssl_certificate_key /etc/ssl/ДОМЕН/ДОМЕН.key;Для Apache — в
<VirtualHost *:443>:SSLCertificateFile /etc/ssl/ДОМЕН/fullchain.pem SSLCertificateKeyFile /etc/ssl/ДОМЕН/ДОМЕН.keyПроверьте конфигурацию и примените её. Для nginx:
nginx -t systemctl reload nginxДля Apache (служба называется
apache2в Ubuntu и Debian иhttpdв AlmaLinux и CentOS Stream):apachectl configtest systemctl reload apache2 || systemctl reload httpd
Частые ошибки при установке:
| Сообщение или признак | Причина | Что делать |
|---|---|---|
«key values mismatch» при nginx -t |
ключ не соответствует сертификату | используйте ключ, созданный вместе с CSR; проверьте соответствие через openssl |
ошибка PEM при nginx -t |
два сертификата оказались в одной строке файла fullchain.pem |
каждый -----BEGIN CERTIFICATE----- должен начинаться с новой строки |
| «unable to verify the first certificate» при проверке через openssl | не хватает промежуточной цепочки | используйте fullchain.pem, а не только сертификат домена |
Если нужна помощь с установкой, напишите нам: Как связаться с поддержкой BLACKBOX.
Проверка сертификата
Выполните команды на сервере или на компьютере с Linux или macOS. Первая команда проверяет цепочку доверия: в конце вывода должно быть «Verify return code: 0 (ok)». Вторая показывает издателя и срок действия сертификата.
openssl s_client -connect ДОМЕН:443 -servername ДОМЕН < /dev/null
openssl s_client -connect ДОМЕН:443 -servername ДОМЕН < /dev/null 2>/dev/null | openssl x509 -noout -issuer -datesДругие проверки, в том числе соответствие ключа, CSR и сертификата: Проверка CSR или сертификата с помощью openssl.
Частые вопросы
Видят ли посетители разницу между Let's Encrypt и коммерческим сертификатом? Нет. Браузер показывает сайт одинаково, а издателя видно только в сведениях о сертификате. Для интернет-магазина Let's Encrypt обеспечивает такое же шифрование.
Wildcard или SAN?
Wildcard подходит для множества поддоменов одного домена, в том числе тех, что появятся позже. SAN — для разных доменов, например example.com и example.com: их wildcard не покрывает.
Как продлить коммерческий сертификат? Автоматически он не продлевается. Следите за сроком действия и заранее запросите продление через поддержку. Используйте новый CSR, лучше с новым ключом. Затем замените файлы и перезагрузите конфигурацию веб-сервера.
Сайт переведён с Let's Encrypt на коммерческий сертификат. Что делать со старым?
Когда сайт уже работает с новым сертификатом и ни одна конфигурация не ссылается на файлы из /etc/letsencrypt/live/, удалите старый, чтобы certbot перестал его продлевать. Точное имя указано в строке «Certificate Name» в выводе команды certbot certificates.
certbot delete --cert-name ДОМЕНПочему сертификат не выпускается, хотя DNS настроен правильно?
Проверьте, есть ли у домена DNS-записи типа CAA. Если есть, они должны разрешать выбранный CA; для Let's Encrypt это значение letsencrypt.org. Для Let's Encrypt также убедитесь, что порт 80 доступен из интернета.