Inspect live server chain
Fetch full chain with SNI; -servername is mandatory for vhosts/SNI backends
openssl s_client -connect <host>:443 -servername <host> -showcerts </dev/null 2>/dev/null
- tool
- openssl27 commands
More openssl commands
-
openssl x509 -in cert.pem -noout -ext subjectAltNameShow only SAN entries; modern browsers ignore CN, so SAN is what matters
-
openssl verify -CAfile ca-chain.pem cert.pemValidate trust chain; note: -CAfile must hold intermediates+root in order
-
diff <(openssl x509 -in cert.pem -noout -modulus | md5sum) <(openssl rsa -in key.pem -noout -modulus | md5sum)Equal modulus hashes prove key matches cert; empty diff = match
-
openssl req -new -newkey rsa:2048 -nodes -keyout key.pem -out req.csr -subj "/CN=<host>" -addext "subjectAltName=DNS:<host>"Generate key+CSR with SAN inline; -addext avoids editing openssl.cnf
-
openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365 -subj "/CN=<host>" -addext "subjectAltName=DNS:<host>"One-liner self-signed cert valid 1y; SAN required or TLS clients reject it