Как сделать ключ и запрос на сертификат, проверить, подходит ли ключ к сертификату, посмотреть сертификат сайта и собрать PFX.
Содержание
На хостинге бесплатный сертификат выпускается сам. Команды ниже пригодятся, если вы покупаете сертификат, ставите его на свой сервер или разбираетесь, почему он не работает. Вместо example.ru подставьте свой домен.
Ключ и запрос на сертификат
openssl req -new -newkey rsa:2048 -nodes -keyout example.ru.key -out example.ru.csr -subj "/CN=example.ru"
Получится два файла. .csr — запрос, его отправляете тому, у кого покупаете сертификат. .key — секретный ключ, он остаётся только у вас. На хостинге запрос можно сделать и без команд: cPanel → SSL/TLS → Certificate Signing Requests.
Что внутри файлов
openssl req -in example.ru.csr -noout -text
openssl x509 -in example.ru.crt -noout -subject -issuer -dates -ext subjectAltName
Вторая команда покажет, на какие имена выписан сертификат, кто его выдал и до какого числа он действует.
Подходит ли ключ к сертификату
openssl x509 -in example.ru.crt -noout -pubkey | openssl sha256
openssl pkey -in example.ru.key -pubout | openssl sha256
Если строки совпали — ключ и сертификат из одной пары.
Какой сертификат отдаёт сайт
openssl s_client -connect example.ru:443 -servername example.ru </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates
Для почты: -connect mail.example.ru:993 или :465, а для порта 587 добавьте -starttls smtp.
PFX для Windows
Windows и IIS просят сертификат с ключом в одном файле .pfx:
openssl pkcs12 -export -in example.ru.crt -inkey example.ru.key -certfile chain.crt -out example.ru.pfx
chain.crt — промежуточные сертификаты, их даёт тот, кто выпустил сертификат.

