Как получить SSL сертификат
Что проверяют
Для тестировщика это вопрос не про покупку сертификата, а про цепочку доверия: как сертификат выпускается, что может пойти не так и как это проверить. Следом обычно спрашивают, что делать с самоподписанным сертификатом тестового стенда в автотестах.
Как отвечать
Про термин: протокол давно называется TLS, SSL 3.0 и ранние версии TLS отключены, «SSL-сертификат» осталось бытовым названием.
- ключ и CSR: закрытый ключ создаётся на сервере и никуда не уходит, центру сертификации отправляется только CSR с доменами в поле SAN;
- проверка владения: для DV автоматически по протоколу ACME. HTTP-01 кладёт файл в
/.well-known/acme-challenge/, DNS-01 добавляет TXT-запись и нужен для wildcard.certbotили встроенный ACME в Caddy и Traefik сами продлевают сертификат. OV и EV требуют проверки организации, но браузеры давно не выделяют EV в адресной строке; - установка: сервер отдаёт свой сертификат вместе с промежуточными, корневой у клиента уже есть;
- тестовые стенды: самоподписанный через
openssl req -x509или локальный CA черезmkcert, корень которого добавляют в доверенные.
Что проверяет QA: срок (openssl x509 -noout -dates), совпадение домена с SAN, полноту цепочки (openssl s_client -connect host:443 -servername host -showcerts), отключённые TLS 1.0 и 1.1, редирект на HTTPS, HSTS и отсутствие mixed content. Полный отчёт даёт testssl.sh.
Где спотыкаются
Отключают проверку в автотестах через verify=False в requests или игнорирование ошибок сертификата в браузере. Тест перестаёт ловить ровно те проблемы, ради которых HTTPS нужен. Правильно передать свой CA через verify="/path/ca.pem" или REQUESTS_CA_BUNDLE.
Проверяют сайт только в браузере. Настольные браузеры часто сами подтягивают недостающий промежуточный сертификат, а мобильные приложения, curl и Java-сервисы на той же ошибке падают.
Не следят за сроком. Максимальный срок публичного сертификата сокращается по решению CA/Browser Forum: с марта 2026 года это 200 дней, дальше ещё меньше. Ручное продление становится источником аварий, дата истечения должна быть в мониторинге.