Разбор цепочки с живого сервера openssl
Получить всю цепочку с SNI; -servername обязателен для vhost/SNI-бэкендов
openssl s_client -connect <host>:443 -servername <host> -showcerts </dev/null 2>/dev/null
more openssl
all 27 commands →
Извлечь список SAN
openssl x509 -in cert.pem -noout -ext subjectAltName
Проверить сертификат по цепочке CA
openssl verify -CAfile ca-chain.pem cert.pem
Сверить сертификат и приватный ключ
diff <(openssl x509 -in cert.pem -noout -modulus | md5sum) <(openssl rsa -in key.pem -noout -modulus | md5sum)
CSR и ключ одной командой
openssl req -new -newkey rsa:2048 -nodes -keyout key.pem -out req.csr -subj "/CN=<host>" -addext "subjectAltName=DNS:<host>"
Самоподписанный сертификат с SAN
openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365 -subj "/CN=<host>" -addext "subjectAltName=DNS:<host>"