Я хочу загрузить ssl-сертификат, скажем, https://www.google.com , используя wget или любые другие команды. Любая командная строка Unix? Wget или OpenSSL?
ssl
ssl-certificate
openssl
wget
RainDoctor
источник
источник
-showcerts
Показывает ли сервер / лист сертификат тоже? Я думал, что он отображал только промежуточные звенья, когда этот переключатель был включен.s_client
всегда показывает сертификат сервера (если он есть, то есть сервер отвечает на привет и не выбирает анонимный набор).-showcerts
показывает все полученные сертификаты, сначала серверный сертификат, затем промежуточные и / или root.Я нашел ответ. Openssl предоставляет это.
источник
openssl x509 -text <<EOF cert-text EOF
чтобы видеть детали свидетельстваsudo rm -f cert.pem && sudo echo -n | openssl s_client -connect localhost:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ./cert.pem
Предоставлено serverfault.com/questions/139728/…sed
взломать.GnuTLS клиентский инструмент,
gnutls-cli
также может сделать это легко:Программа предназначена для предоставления интерактивного клиента сайту, поэтому необходимо
/dev/null
завершить интерактивный сеанс пустым вводом (в данном примере с ).источник
основанный на ответе @bignose, вот отдельная версия, которая хорошо вписывается, например, в рецепт шеф-повара:
источник
этот режим openssl ожидает ввода stdin, поэтому мы предоставляем его через него
true |
, он подключается к серверу, указанному в параметре -connect.2>/dev/null
Приглушая ошибки (необязательно), мы можем передать весь вывод в синтаксический анализатор x509, указав/dev/stdin
в качестве входного файла использовать оболочку канала. И что будет выводить только-----BEGIN CERTIFICATE-----
в-----END CERTIFICATE-----
частиs_client
вывода. Вы можете перенаправить это в файл, добавив> google.com.pem
в конец команды.Насколько я могу судить, это не проверяет цепочку сертификатов, а только может сказать вам, какие идентификаторы ssl предоставляет конечный сервер.
источник
x509
читает stdin по умолчанию, поэтому-in /dev/stdin
избыточно (3)s_client
проверяет, правильно ли сертификат сервера соединен с локальным доверительным якорем (root) и не устарел, но вы скрыл информацию, которая показала бы это (4) он НЕ проверяет на отзыв (5) он проверяет имя в сертификате сервера только в 1.0.2, а затем не по умолчанию (но вы можете легко проверить это самостоятельно, посмотрев сертификат) потом)Альтернативный синтаксис с использованием Ex и подстановки процесса:
источник