← Все статьи

OpenSSL: как проверить сертификат, CSR, ключ и цепочку

Автор: Юрий Нефёдов, системный инженер · 24.05.2024 · обновлено 24.10.2026

OpenSSL — набор инструментов для работы с сертификатами и ключами. Эти команды нужны, когда выпускаете или продлеваете SSL-сертификат, браузер ругается на сайт или надо проверить, что сертификат подходит к ключу.

Посмотреть запрос на сертификат (CSR)

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

openssl req -in file.csr -text -noout

Посмотреть сертификат

Выводит всё содержимое: кому выдан, кем, срок действия, дополнительные имена (Subject Alternative Name):

openssl x509 -in file.pem -text

Только срок действия:

openssl x509 -in file.pem -noout -dates

Истекает ли сертификат в ближайшие 30 дней. Удобно для скриптов мониторинга: команда возвращает код 1, если истекает:

openssl x509 -in file.pem -noout -checkend 2592000

Проверить цепочку сертификатов

Проверяет, что сертификат подписан указанным удостоверяющим центром. Если промежуточного сертификата не хватает, команда об этом сообщит:

openssl verify -verbose -CAfile <ca cert file> <certificate file>

Подходит ли ключ к сертификату

Частая ошибка при установке: сертификат от одного ключа, а на сервере лежит другой. Для RSA-ключей сравните отпечатки, они должны совпасть:

openssl x509 -noout -modulus -in cert.pem | openssl md5
openssl rsa -noout -modulus -in key.pem | openssl md5

Сертификат работающего сайта

Посмотреть, какой сертификат на самом деле отдаёт сервер и до какого числа он действует:

openssl s_client -connect example.ru:443 -servername example.ru </dev/null | openssl x509 -noout -subject -dates

Нужна помощь с настройкой?

Если задача сложнее, чем в статье, напишите мне. Первая консультация бесплатная.