Есть ли способ перечислить все домены в SSL-сертификате SAN / UCC (в идеале, используя командную строку в linux / os x)?
Ясно, что должен быть какой-то способ извлечь данные, так как это могут сделать браузеры. К сожалению, я вижу список, но не могу вырезать и вставить его.
ssl-certificate
ucc
certificate
Джордан Райтер
источник
источник
openssl s_client -showcerts -connect www.example.org:443 | openssl x509 -text
openssl x509 -text < $CRT | grep 'DNS:' | sed 's/\s*DNS:\([a-z0-9.\-]*\)[,\s]\?/\1 /g'
Вы можете перечислить домены с помощью этой команды (проверено на Linux):
источник
Если вы просто хотите увидеть SAN,
grep DNS:
это очевидное решение.Если вы хотите иметь более чистый список для дальнейшей обработки, вы можете использовать это регулярное выражение Perl, чтобы извлечь только имена:
@names=/\sDNS:([^\s,]+)/g
Например:
Который вывел бы это:
Таким образом, вы могли бы передать это и
while read name; do echo "processing $name ..."; done
т.д.Или для списка через одну строку, разделенного запятыми, замените
join("\n",
наjoin(",",
(
-0777
Переключатель для Perl заставляет его читать весь ввод сразу, а не построчно)источник