Как сохранить сертификат сайта на компьютер

Обновлено: 30.06.2024

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

Однако стоимость их, мягко говоря, завышена. Чтобы создать самоподписанный сертификат, понадобится минут 5 времени, из которых 99% - это ввод данных о домене. Понятно, что компании хотят кушать и поэтому продают их. Бесплатно можно получить лишь при регистрации домена на первый год, это вроде как сыра в мышеловке.

Однако существует Let’s Encrypt - бесплатный, автоматизированный и открытый Центр Сертификации, созданный на благо всего общества организацией Internet Security Research Group (ISRG).

Указанный ниже способ работает, если у вас есть доступ к SSH. Если его нет, то Let’s Encrypt предоставляет бесплатный сертификат только на 3 месяца и придется заморачиваться этим каждый раз.

Let`s Encrupt рекомендует использовать утилиту Certbot. Переходим на сайт утилиты.

К примеру, на моем проекте Электронная сервисная книжка авто веб-сервер Nginx и операционная система Debian 9. Поэтому я выбрал их и далее откроется детальная инструкция по дальнейшим шагам. Если у вас другой веб-сервер или ОС, дальнейшие примеры будут немного отличаться, но шаги будут примерно одинаковыми.

Если хотим, чтобы бот автоматически установил сертификат и отредактировал конфиг Nginx (прописал пути до полученных сертификатов), выполним команду

Если же хотим только установить сертификат, а конфиг потом отредактируете самостоятельно, то выполняем

Certbot будет автоматически продлевать сертификат через задания cron или таймер systemd.

Чтобы выполнить тестовый запуск с симуляцией продления выполните команду

На этом всё. После этих действий Certbot будет автоматически продлевать сертификат на каждые 3 месяца. А сейчас можно зайти на свой сайт и убедиться, что сертификат уже действует!

Мы тут собрали умную камеру для наблюдения за котиками. Хотите научим?

Последняя команда
_не обновит_ сертификат. Т.к. (из документации) опция
"--dry-run" это Test "renew" or "certonly" without saving any certificates.
Т.е. лишь проверит - не устарел ли сертификат, но не будет получать и сохранять обновленные сертификаты.

Да, действительно, это так. --dry-run симулирует получения сертификата, чтобы можно было выявить ошибки и проблемы, поскольку есть ограничения у Let’s Encrypt на 20 регистраций в неделю или 5 ошибок в час, если не ошибаюсь.

Немного подкорректировал текст. Спасибо за внимательность!

Ну а теперь поговорим о минусах.

какой дикий бред

Почти все, что тобой написано - нелепый бред. Вроде какие-то знания есть, но выводы весьма нелогичны, и как будто притянуты.

1. Certbot вполне себе открыт
2. Certbot может обновлять сертификаты автоматически, без участия пользователя по CRON'у
3. Гарантией являются компании. В данном случае это Google с поддержкой Facebook, ДЦ OVH, Cisco, Mozilla и множество других. Даже если предположить, что трафик к вашему сайту каким-то магическим образом пойдет (не пойдет) через эти компании, а не через вашего провайдера, рос. магистраль и провайдер клиента - им нахрен не нужны телефоны ваших клиентов из формы "Перезвоните мне", тем более компрометировать браузер Chrome.
4. Сертификать нужен прежде всего для защиты передаваемых данных, а не подтверждения юр. лица, это - вторичное и абсолютному большинству юр. лиц напросто не нужно.
5. Пользователю глубоко пофигу на тип сертификата. Отсутствие предупреждения о незащищенном сайте и наличие замочка - уже достаточно. Тем более для OV-сертификатов проверяют только существование юр.лица, и они ни в коем случае не являются гарантом его надежности.

Итак, вывод: Если у вас мелкий или средний бизнес и вы не видите преимуществ в OV-сертификате или не знаете зачем он - вам подойдет бесплатный от Lets Encrypt. Напомню, что задача SSL-сертификатов состоит в том, чтобы применять механизм шифрования к передаваемым данным, и в сертфикатах от Lets Encrypt он есть. Остальное - это больше маркетинг и вой компаний, которые пытаются продать вам то, что большинству из вас не нужно.

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

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

Скорее всего, ваш браузер имеет встроенную функцию для этого - возможно, в разделе «Инструменты разработчика».

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

заменив и на ваши значения.

Я предпочитаю эту опцию, так как мне не нужно открывать графический интерфейс, и я могу сделать это через SSH с наших серверов. Решение elec3647 полностью автоматизирует извлечение PEM в конвейере оболочки.

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

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

Я попробовал это (на другом веб-сайте) - но ожидалось, что вся цепочка сертификатов: кажется, это вернуло только первое в цепочке - этого ожидать? Я согласен с monojohnny, это не дает вам полную цепочку. Поздно, но @monojohnny: openssl s_client -showcerts отображает все сертификаты в полученной цепочке (если соединение установлено), но при прохождении по конвейеру openssl x509 берется только первый, а остальные отбрасываются. Чтобы получить все из них, вместо этого используйте . | sed -n '/^-----BEGIN CERT/,/^-----END CERT/p' или. . | awk '/^-----BEGIN CERT/,/^-----END CERT/' Вы также можете использовать несколько более сложный способ, awk чтобы поместить каждый сертификат в отдельный файл, что облегчает их использование с openssl некоторыми другими инструментами.

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

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

альтернативный текст

Полезно знать - но для моего любопытства, можете ли вы объяснить немного больше, чего вы пытаетесь достичь? Мне никогда не нужно было экспортировать клиентский сертификат SSL, и мне очень любопытно, почему у вас действительно есть необходимость это делать . Это сертификат сервера, а не сертификат клиента. Основной причиной экспорта закрытого ключа и сертификата клиента является сохранение резервной копии или проверка подлинности с использованием другого браузера или компьютера. @gbroiles - прочитайте вопрос, он использовал неверную терминологию, но это решило его проблему. правильно, и я ответил на ваш вопрос - почему кто-то хочет сохранить сертификат клиента? «Сертификат клиента SSL» был вашим термином, а не его. Не похоже, что есть способ сделать это в Chrome, верно ?!

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

2. Нажмите на символ замка и затем нажмите на Детали

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

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

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

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

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

Обратите внимание, что корневой сертификат имеет значок с золотой каймой. У остальных синяя рамка.

Шаг 1. Сохраняем все сертификаты сайта¶

Браузер позволяет просматривать и сохранять данные о сертификатах сайта. У каждого сайта есть так называемая иерархия сертификатов. В этом шаге мы сохраним все сертификаты из иерархии с помощью браузера.

В примере используется браузер Google Chrome. Интерфейс и названия в других браузерах отличаются, но принцип действий похож.

1.1. Откройте сайт, сертификат которого необходимо добавить.


1.2. В окне браузера нажмите на сведения о сайте. Обычно это иконка слева от адреса сайта в адресной строке.


1.3. В появившемся окне нажмите на ссылку Подробнее.

1.4. Появится окно с вкладкой Security. Нажмите на кнопку View certificate в этом окне.


1.5. Откроется окно Инструмент просмотра сертификатов. В этом окне перейдите на вкладку Подробнее и по очереди экспортируйте все сертификаты из иерархии в файлы с расширением .crt.


Шаг 2. Создаем файлы с сертификатами¶

Выполните шаг 2 по очереди с каждым CRT-файлом, который вы получили в шаге 1.

Вам потребуется установить OpenSSL. Пользователям Windows также потребуется установить Git, чтобы выполнять команды из инструкции.

2.1. Создайте новый документ; название может быть любым.

2.2. Вставьте в этот новый документ название сертификата. После названия сертификата в следующей строке добавьте ========. Например, сертификат называется certificate. Тогда в созданном документе должно быть следующее:

2.3. Откройте окно консоли и по очереди выполните две команды:

certificate.crt - название файла вашего сертификата;

certificate.pem - название сертификата, после преобразования.


2.4. Информацию, выведенную в консоли, скопируйте в документ, куда вы до этого добавили название сертификата.


2.6. Теперь необходимо получить md5 для сертификата. В консоли наберите команду:

Появившийся в консоли md5 скопируйте в документ, созданный во время шага 2.1.

Доброго дня!

Я думаю, что почти каждый пользователь (особенно в последнее время) сталкивался с ошибкой в браузере о том, что сертификат такого-то сайта не является доверенным, и рекомендацией не посещать его.

Суть происходящего, и что это значит?

Дело в том, что когда вы подключаетесь к сайту, на котором установлен протокол SSL, то сервер передает браузеру цифровой документ ( сертификат ) о том, что сайт является подлинным (а не фейк или клон чего-то там. ). Кстати, если с таким сайтом все хорошо, то браузеры их помечают "зеленым" замочком напротив URL-строки: на скрине ниже показано, как это выглядит в Chrome.

zashhishheno

Однако, сертификаты могут выпускать, как всем известные организации (Symantec, Rapidssl, Comodo и др.) , так и вообще кто-угодно. Разумеется, если браузер и ваша система "не знает" того, кто выпустил сертификат (или возникает подозрение в его правильности) — то появляется подобная ошибка.

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

Как устранить ошибку

Первое, что сделайте — просто обратите внимание на адрес сайта (возможно, что вы по ошибке набрали не тот URL).

Также иногда такое происходит по вине сервера, на котором расположен сайт (возможно, вообще, сам сертификат просто устарел, ведь его выдают на определенное время). Попробуйте посетить другие сайты, если с ними все "OK" — то вероятнее всего, что проблема не в вашей системе, а у того конкретного сайта.

Пример ошибки "Сертификат безопасности сайта не является доверенным"

Однако, отмечу, что если ошибка появляется на очень известном сайте, которому вы (и многие другие пользователи) всецело доверяете — то высока вероятность проблемы в вашей системе.

Второй момент: подобная ошибка может выскакивать, если у вас в системе неверно задано время или дата . Для их корректировки и уточнения достаточно щелкнуть мышкой по "времени" в панели задач Windows (в правом нижнем углу экрана).

Настройка даты и времени

Настройка даты и времени

После установки правильного времени, перезагрузите компьютер и попробуйте заново открыть браузер и сайты в нем. Ошибка должна исчезнуть.

Также обращаю внимание на то, что, если у вас постоянно сбивается время - вероятно у вас села батарейка на материнской плате. Представляет она из себя небольшую "таблетку", благодаря которой компьютер помнит введенные вами настройки, даже если вы его отключаете от сети (например, те же дата и время как-то высчитываются?).

Батарейка на материнской плате ПК

Этот способ хоть и рабочий, но хотелось бы предупредить, что он "может" стать источником проблем в безопасности вашей системы. По крайней мере, прибегать к этому советую только для таких крупных сайтов как Google, Яндекс и т.д.

Для избавления от ошибки, связанной с недостоверностью сертификата, должен подойти спец. пакет GeoTrust Primary Certification Authority .

Кстати, чтобы скачать GeoTrust Primary Certification Authority:

    нажмите правой кнопкой мышки по ссылке download и выберите вариант "сохранить ссылку как. ";

Сохранить ссылку как.

Сохранить ссылку как.

Файл с расширением PEM

Файл с расширением PEM

Теперь необходимо скачанный сертификат установить в систему. Как это делается, по шагам расскажу чуть ниже:

  1. сначала нажимаем сочетание кнопок Win+R , и вводим команду certmgr.msc , жмем OK;
  2. должен открыться центр сертификатов в Windows. Необходимо раскрыть вкладку "Доверенные корневые центры сертификации/сертификаты", щелкнуть по ней правой кнопкой мышки и выбрать "Все задачи - импорт".

Импорт сертификата

Мастер импорта сертификатов

Мастер импорта сертификатов

Указываем сертификат, который загрузили

Указываем сертификат, который загрузили

Поместить сертификаты в доверенные. Далее

Поместить сертификаты в доверенные. Далее

Avast - основные настройки (отключение сканирование https трафика)

Либо, как вариант, на время удалите его или полностью отключите!

Управление экранами Avast - отключить на 10 минут

Чтобы открыть проблемный сайт — загрузите браузер MX5 (я о нем рассказывал в заметке о флеш-играх). При попытке перейти на "проблемный" сайт в нем — он вас предупредит, что это не безопасно, но если вы подтвердите свое намерение — н загрузит страничку!

Читайте также: