Сохранить удаленный сертификат SSL через командную строку Linux

28

Можете ли вы вспомнить какой-либо метод командной строки Linux для сохранения сертификата, представленного сервером HTTPS? Что-то вроде того, что curl / wget / openssl создает SSL-соединение и сохраняет сертификат, а не содержимое HTTP-ответа.

Эквивалентом того, что я ищу, было бы перейти на сайт HTTPS, дважды щелкнуть значок браузера "безопасный сайт" и экспортировать сертификат. За исключением цели здесь, чтобы сделать это не в интерактивном режиме.

Спасибо джим


источник

Ответы:

40

Что-то типа:

openssl s_client -servername remote.server.net -connect remote.server.net:443 </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >/path/to/certificate.pem

Это то, что я использую с fetchmail для получения сертификата сервера с поддержкой SSL IMAP или POP3 (за исключением того, что я явно не использую порт 443)

(Обратите внимание, что «избыточный» -servernameпараметр необходим для выполнения opensslзапроса с поддержкой SNI.)

Плачь Хавок
источник
1
Есть ли способ получить полную цепочку?
Коллин Андерсон