#openssl
#openssl
Вопрос:
Я пробовал различные комбинации команд openssl, чтобы извлечь ТОЛЬКО имя отправителя SSL определенного доменного имени, но это было невозможно. Я также провел исследование, чтобы найти готовое решение, но мне не повезло.
Я знаю, что следующая команда предоставит нам много информации о сертификате SSL, включая имя эмитента ssl: openssl s_client -showcerts -verify 5 -connect example.com:443
Возможно ли с помощью простой команды openssl получить только имя отправителя ssl (например, Let’s Encrypt или DigiCert), используя только имя домена?
Комментарии:
1.Если Unix, это базовое:
openssl s_client -connect host:port [-servername host] </dev/null 2>/dev/null | grep "^ i:"
покажет всех эмитентов в цепочке как отправленных, которые в соответствии со стандартами должны быть полными, возможно, за исключением root. Добавьте| head -1
, чтобы получить только первое, или замените grep на что-то вроде| sed -n "/^ i:/{p;q}"
, в зависимости от вашей версии sed или Unix. Для OpenSSL ниже 1.1.1-servername host
требуется с некоторыми хостами, чтобы получить правильную цепочку сертификатов.2. Для чего угодно вы можете использовать второй openssl:
openssl s_client as above </dev/null 2>/dev/null | openssl x509 -noout -issuer
(в Windows используйте NUL: вместо /dev/null ). (Это всегда показывает только первый уровень.)