Extract Cert Altnames with OpenSSL

Fetches a remote server’s certificate and prints just its Subject Alternative Names (SANs) as a clean, sorted list — unlike Fetch TLS Certificate, which dumps the whole cert.

#!/bin/bash
 
# syntax:   bash certAltChecker.sh www.domain.tld
 
domain="$1"
 
echo | openssl s_client -showcerts -servername "$domain" -connect "$domain":443 2>/dev/null \
| openssl x509 -inform pem -noout -ext subjectAltName \
| grep 'DNS' | tr -s ' ' | tr ' ' '\n' \
| tr -d ',' | cut -d ':' -f 2 | grep -E '[a-z]' | sort -u

Example Execution

$ bash certAltChecker.sh www.example.com
example.com
example.edu
example.net
example.org
www.example.com
www.example.edu
www.example.net
www.example.org