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

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

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

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

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

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

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

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

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

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

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

Alt text

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

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

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

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

  2. Нажмите кнопку « Просмотреть сертификат» .

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

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

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

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

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

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

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

Введите описание изображения здесь

Это ответ 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 .

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

 echo QUIT | \ openssl s_client -showcerts -connect hostname:port | \ awk '/-----BEGIN CERTIFICATE-----/ {p=1}; p; /-----END CERTIFICATE-----/ {p=0}' " 
  • Java: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти допустимый путь сертификации для запрошенной цели
  • Тип Keystore: какой из них использовать?
  • Предупреждение о подтверждении SSL: ошибка unrecognized_name с момента обновления до версии 1.7.7
  • javax.net.ssl.SSLException: Получено фатальное предупреждение: protocol_version
  • SSL, Tomcat и Grails
  • Сколько информации может видеть мой интернет-провайдер?
  • Самоподписанный сертификат SSL или CA?
  • jQuery ajax и SSL?
  • SSL / TLS vs SSL / TLS-VPN
  • «Java недоступен» в Firefox 32 бита
  • Простой Java HTTPS-сервер
  • Interesting Posts

    Выполнение вложений и обновлений с помощью Dapper

    алгоритм проверки соединения четырех полей

    SMS Manager отправляет сообщение mutlipart, когда имеется менее 160 символов

    API речевой речи Google

    Как изменить значки меню навигации и переполнения панели инструментов (appcompat v7)?

    Как определить размер объекта в C ++?

    Ошибка производительности XmlSerializer при указании XmlRootAttribute

    Может ли индикатор выполнения работать в classе за пределами основного?

    Таблица JavaFX – как добавить компоненты?

    Исключение некоторых свойств во время сериализации без изменения исходного classа

    Как исправить «Этот диск не содержит раздел, совместимый с Windows XP»?

    Беспроводная связь зданий 1000 футов

    Получение NoClassDefFoundError при использовании common.lang.StringUtils в javas-коде android?

    Windows не загружается при использовании режима загрузки UEFI

    Как я могу анализировать даты и преобразовывать часовые пояса в Perl?

    Давайте будем гением компьютера.