Как сохранить сертификат SSL удаленного сервера локально в виде файла

Мне нужно загрузить SSL-сертификат удаленного сервера (а не HTTPS, но квитирование SSL должно быть таким же, как Google Chrome /IE /wget, и скручивать все, чтобы проверить ошибки проверки сертификата) и добавить сертификат как доверенный в моем ноутбуков Windows, поскольку я не могу заставить своих ИТ-ребята дать мне сертификат CA.

это для офисных сообщений, поэтому я не могу реально использовать фактического клиента для получения сертификата.

Как это сделать, у меня есть Windows 7 и куча Linuxes, поэтому любой язык инструментов /сценариев в порядке.

259 голосов | спросил Kimvais 18 Jam1000000amMon, 18 Jan 2010 10:43:44 +030010 2010, 10:43:44

7 ответов


249

Если у вас есть доступ к OpenSSL, попробуйте

openssl s_client -connect {HOSTNAME}: {PORT} -showcerts

заменив {HOSTNAME} и {PORT} любыми вашими значениями.

ответил gbroiles 17 AM000000110000005131 2010, 11:20:51
180

Быстрый метод получения выгруженного и загруженного сертификата состоял в том, чтобы запустить следующую команду, которая выводит вывод из -showcerts в команду x509 ssl, которая просто удаляет все посторонние. Например:

openssl s_client -showcerts -connect server.edu:443 </dev /null 2 ​​> /dev /null | openssl x509 -outform PEM> mycertfile.pem

Чтобы использовать сертификат, с помощью wget,

wget https: /server.edu: 443 /somepage --ca-certificate = mycertfile.pem
ответил elec3647 5 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 05 Sep 2013 17:47:29 +0400 2013, 17:47:29
109

Честно говоря, я никогда не пробовал это раньше (никогда не нужно), однако, я только что пробовал в Firefox и, похоже, работает для сохранения:

  1. Нажмите на значок сертификата SSL вверху /Padlock внизу.
  2. Нажмите Просмотреть сертификат
  3. Нажмите вкладку Details
  4. Выберите, какой сертификат вы хотите от иерархии [не обведено в картинке]
  5. Нажмите Export

alt text

ответил William Hilsum 18 Jam1000000amMon, 18 Jan 2010 10:56:49 +030010 2010, 10:56:49
38

Экспорт сертификата с помощью браузера Chrome

  1. Подключитесь к сайту с помощью SSL ( https: //независимо )

2. Нажмите на символ блокировки, а затем нажмите «Подробности»

  1. Начиная с версии Chrome 56, вы делаете следующее: перейдите в меню «Три точки» -> Дополнительные инструменты -> Инструменты разработчика, затем щелкните вкладку «Безопасность». Это даст вам Обзор безопасности с помощью кнопки Открыть сертификат .

  2. Нажмите кнопку Открыть сертификат .

    Откроется модальное окно. Он имеет две панели. В верхней строке показана иерархия доверия сертификата сайта (последний из них), промежуточный сертификат (ы) и корневой сертификат (самый верхний).

    Вторая, более крупная панель, показывает детали одного из сертификатов.

    Может быть ноль или более промежуточных сертификатов.

    Обратите внимание, что корневой сертификат имеет значок с золотой границей. Остальные имеют синюю границу.

    Смотрите снимок экрана ниже.

  3. Чтобы экспортировать сертификат:

    1. Сначала щелкните значок сертификата в иерархии доверия.
    2. Сертификат будет показан в основной части модального файла.
    3. Нажмите на большой значок сертификата в основной части модального. Перетащите значок на рабочий стол. Затем Chrome копирует сертификат на ваш рабочий стол.

 введите описание изображения здесь>> </a> </p></div>
					 
						<div class=

ответил Larry K 26 MonEurope/Moscow2016-12-26T21:45:38+03:00Europe/Moscow12bEurope/MoscowMon, 26 Dec 2016 21:45:38 +0300 2016, 21:45:38
16

Это ответ gbroiles , но я хотел бы указать, что проект cURL содержит страницу с несколькими подробностями при использовании openssl для сохранения сертификата SSL удаленного сервера

  • openssl s_client -connect {HOSTNAME}: {PORT} | tee logfile
  • Введите QUIT и нажмите клавишу Enter /Return.
  • Сертификат будет указан между отметками «BEGIN CERTIFICATE» и «END CERTIFICATE».
  • Если вы хотите видеть данные в сертификате, вы можете использовать:

    openssl x509 -inform PEM -in certfile -text -out certdata 
    
    

    , где certfile - это сертификат, извлеченный из logfile. Посмотрите certdata.

ответил Daniel Trebbien 19 +04002012-10-19T02:10:10+04:00312012bEurope/MoscowFri, 19 Oct 2012 02:10:10 +0400 2012, 02:10:10
4

автоматизирован

-servername было необходимо для получения правильного сертификата с виртуального хоста на нашем сервере.

openssl s_client -showcerts -connect host.name.com:443 -servername host.name.com </dev /null | sed -ne '/-BEGIN CERTIFICATE - /, /- END CERTIFICATE- /p'> host.name.com.pem

вы также можете конвертировать в сертификат для рабочего стола

openssl x509 -inform PEM -in host.name.com.pem -outform DER -out host.name.com.cer

Последняя часть - это добавить его в свои сертификаты, а не обязательно на windows
для mac keychain, который я использовал, должен быть схожим ...

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain host.name.com.cer

ответил Artistan 25 Jpm1000000pmThu, 25 Jan 2018 18:59:26 +030018 2018, 18:59:26
1

Это даст результаты, содержащие только сертификаты

echo QUIT | \
openssl s_client -showcerts -connect имя хоста: порт | \
awk '/----- BEGIN CERTIFICATE ----- /{p = 1}; п; /----- КОНЕЦ СЕРТИФИКАТА ----- /{p = 0} '"
ответил Archimedes Trajano 23 Mayam17 2017, 04:20:39

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132