Как получить альтернативные имена доменов сертификата

Опция -ext позволяет получить секцию X509v3 Subject Alternative Name

openssl x509 -noout -ext subjectAltName

Пример сертификата википедии

echo | openssl s_client -connect wikipedia.org:443 2>/dev/null | openssl x509 -noout -ext subjectAltName
X509v3 Subject Alternative Name: 
    DNS:*.wikipedia.org, DNS:wikimedia.org, DNS:mediawiki.org, DNS:wikibooks.org, DNS:wikidata.org, DNS:wikinews.org, DNS:wikiquote.org, DNS:wikisource.org, DNS:wikiversity.org, DNS:wikivoyage.org, DNS:wiktionary.org, DNS:wikimediafoundation.org, DNS:w.wiki, DNS:wmfusercontent.org, DNS:*.m.wikipedia.org, DNS:*.wikimedia.org, DNS:*.m.wikimedia.org, DNS:*.planet.wikimedia.org, DNS:*.mediawiki.org, DNS:*.m.mediawiki.org, DNS:*.wikibooks.org, DNS:*.m.wikibooks.org, DNS:*.wikidata.org, DNS:*.m.wikidata.org, DNS:*.wikinews.org, DNS:*.m.wikinews.org, DNS:*.wikiquote.org, DNS:*.m.wikiquote.org, DNS:*.wikisource.org, DNS:*.m.wikisource.org, DNS:*.wikiversity.org, DNS:*.m.wikiversity.org, DNS:*.wikivoyage.org, DNS:*.m.wikivoyage.org, DNS:*.wiktionary.org, DNS:*.m.wiktionary.org, DNS:*.wikimediafoundation.org, DNS:*.wmfusercontent.org, DNS:wikipedia.org

И более чистый вариант

echo | openssl s_client -connect wikipedia.org:443 2>/dev/null | openssl x509 -noout -ext subjectAltName | grep -o 'DNS:[^,]\+' | cut -d':' -f2
*.wikipedia.org
wikimedia.org
mediawiki.org
wikibooks.org
wikidata.org
wikinews.org
wikiquote.org
wikisource.org
wikiversity.org
wikivoyage.org
wiktionary.org
wikimediafoundation.org
w.wiki
wmfusercontent.org
*.m.wikipedia.org
*.wikimedia.org
*.m.wikimedia.org
*.planet.wikimedia.org
*.mediawiki.org
*.m.mediawiki.org
*.wikibooks.org
*.m.wikibooks.org
*.wikidata.org
*.m.wikidata.org
*.wikinews.org
*.m.wikinews.org
*.wikiquote.org
*.m.wikiquote.org
*.wikisource.org
*.m.wikisource.org
*.wikiversity.org
*.m.wikiversity.org
*.wikivoyage.org
*.m.wikivoyage.org
*.wiktionary.org
*.m.wiktionary.org
*.wikimediafoundation.org
*.wmfusercontent.org
wikipedia.org

Время начала и окончания действия сертификата

Как узнать время начала действия и окончания (истечения) сертификата?

echo | openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -dates | cut -d '=' -f2- | xargs -I{} date --date="{}" '+%F %T'

Для того чтобы после взаимодействия с сервером в пакетном режиме openssl завершился необходимо передать ему перевод строки. Иногда можно встретить, что ему передают файл перенаправлением из /dev/null. Оба варианта работают одинаково.
Второй вызов openssl работает уже с полученным через pipe сертификатом и достаёт из него дату начала его дествия и дату окончания действия. Затем командой cut из сертификата извлекается только дата, и наконец дата передаётся в качестве параметра команде date которая из него может сформировать дату в различных форматах.
Continue reading Время начала и окончания действия сертификата