SSL-сертификат

Оригинальное название: SSL certificate

Коротко

Электронный документ, который связывает доменное имя с открытым ключом сервера. Подписан центром сертификации и нужен браузеру для защищённого соединения по HTTPS.

Что такое «SSL-сертификат»

Название устарело: протокол SSL давно заменён на TLS, но сертификаты по привычке называют SSL-сертификатами. Задачи у них две. Первая — доказать браузеру, что он разговаривает именно с сервером example.ru, а не с подменой. Вторая — дать открытый ключ, с помощью которого устанавливается шифрованное соединение. Без действующего сертификата браузер показывает предупреждение, и большинство посетителей уходит.

Сертификат выпускает центр сертификации после проверки, что заявитель контролирует домен. Для обычного сайта достаточно сертификата с проверкой домена (DV) — его бесплатно и автоматически выдаёт, например, Let's Encrypt. Сертификаты OV и EV дополнительно подтверждают организацию, но в адресной строке современных браузеров выглядят так же.

Что внутри сертификата

  • Имена, для которых он действует: основной домен, www-версия, поддомены или маска вида *.example.ru.
  • Открытый ключ сервера. Закрытый остаётся на сервере и в сертификат не входит; запрос на выпуск оформляют как CSR.
  • Срок действия. Максимальный срок публичных сертификатов постепенно сокращается по решениям CA/Browser Forum, поэтому продление стоит автоматизировать.
  • Подпись центра сертификации и ссылка на цепочку промежуточных сертификатов.

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

Срок, владельца и выпустивший центр видно в браузере по значку слева от адреса. Из консоли то же показывает openssl:

echo | openssl s_client -connect example.ru:443 -servername example.ru 2>/dev/null \
  | openssl x509 -noout -subject -issuer -dates

Строка notAfter — дата окончания. Если до неё меньше месяца, а продление не настроено, пора разбираться.

Типичные проблемы

  • Сертификат выпущен на example.ru, а сайт открывают по www.example.ru — браузер выдаёт ошибку несовпадения имени.
  • На сервере не установлена промежуточная цепочка: в одних браузерах сайт открывается, в других — нет.
  • После перехода на HTTPS в коде остались ссылки на картинки и скрипты по http, и браузер их блокирует. Как избежать этого и не потерять позиции, описано в статье о переходе сайта на HTTPS.

Обновлено:

Все термины раздела «Доменные имена и DNS»

Что будем искать? Например,Продвижение