Что такое самоподписанный сертификат
Технически такой сертификат не отличается от версии, подписанной доверенным центром. Разница — в подписи, заверяющей сертификат.
Самозаверенные версии чаще используются для тестирования сайтов и приложений. Их также создают для небольших сайтов, которые нет смысла атаковать со стороны. Ресурсы с большой посещаемостью, а также собирающие личные данные посетителей, должны идентифицироваться исключительно доверенными сертификатами.
Самостоятельно можно создать сколько угодно самоподписанных версий. При загрузке страниц сайтов с такими сертификатами посетителям всегда будет выводиться сообщение подобного содержания:
Такое предупреждение отпугивает людей. Большинство откажутся переходить на такой сайт, в результате чего упадет его посещаемость.
Вывод здесь один: для привлечения посетителей нужно использовать доверенные сертификаты, подписанные известными центрами. Их корневые сертификаты имеются в каждом браузере, который выдает пользователю уведомление о надежности шифрования данных.
Их создают вручную с помощью специальных программ или библиотек. Например, для Windows можно воспользоваться криптографическим хранилищем OpenSSL или консолью PowerShell. Эти инструменты генерируют сертификаты SSL, создают открытые и секретные ключи.
Создание самоподписанного сертификата SSL через OpenSSL подразумевает использование таких команд:
out /home/devuser/cert/cert.crt — место локации сертификата;
newkey rsa:2048 — автоматическое создание ключа, если у вас его нет;
req-x509 — запрос на генерацию самоподписанного сертификата;
keyout /home/devuser/cert/mykey.key — запрос на генерацию ключа.
Затем после ввода пароля необходимо описать данные вашего сервера. Для пропуска определенного параметра оставьте точку «.» в конце командной строки:
Вы можете отметить в своем браузере, что созданный сертификат является безопасным. Тогда на вашем устройстве не будет выскакивать сообщение о незащищенном соединении. Все остальные пользователи по-прежнему будут получать такое сообщение.
Чтобы создать самоподписанный сертификат SSL в Windows с помощью утилиты PowerShell, введите в ней команду:
Это и есть запрос на генерацию самоподписанного сертификата. После создания вы можете переместить его в папку доверенных сертификатов на вашем компьютере. После этого браузер перестанет выдавать уведомление об отсутствии шифрования данных.
Так выглядит самоподписанный сертификат SSL на сервере Nginx:
Где cert.crt означает открытый ключ, а cert.key — секретный ключ.
Самоподписанный сертификат на сервере Apache выглядит так:
Доверенные центры выдают разные формы сертификатов, которые разнятся между собой по стоимости. Самый простой означает проверку подлинности доменного имени.
Более дорогой выдается после полноценной проверки данных, предоставляемых компанией. Вплоть до того, что могут проверить контакты и документацию заявителя.
После успешной идентификации на сайте появляется соответствующий зеленый значок с логотипом центра. Этот фактор сильно влияет на доверие посетителей к сайту.
Сходство между самоподписанным сертификатом и доверенным заканчивается на их технической части. Самозаверенный сертификат создает шифрование данных, передаваемых от браузера к серверу.
Тем не менее, эта информация находится под угрозой захвата третьими лицами и не может быть отозвана. К тому же, на сайте, идентифицированном самоподписанным SSL-сертификатом, всегда будет выскакивать уведомление об опасном соединении. Этот фактор влияет на его посещаемость.
Использовать самописные сертификаты лучше на небольших сайтах, в тестируемых приложениях или внутренних ресурсах малых фирм, где о небезопасном соединении известно всем сотрудникам. Коммерческие ресурсы с высокой посещаемостью должны идентифицироваться исключительно доверенными центрами сертификации.
Но вы можете получить бесплатный сертификат с подпиской, если пока не собираетесь приобретать платную версию. Больше о бесплатных сертификатах можно узнать здесь .
Хотите узнать как быстро проверить свой сайт на ошибки ?
Оставьте свой email, перейдя по ссылке, и вы получите whitepaper с пошаговым руководством по почте.
Serpstat — набор инструментов для поискового маркетинга!
Находите ключевые фразы и площадки для обратных ссылок, анализируйте SEO-стратегии конкурентов, ежедневно отслеживайте позиции в выдаче, исправляйте SEO-ошибки и управляйте SEO-командами.
Создание самоподписанных сертификатов SSL для Apache в Ubuntu 18.04
Веб-протокол TLS или протокол безопасности транспортного уровня, а также предшествовавший ему веб-протокол SSL или протокол уровня защищенных сокетов, используются для помещения обычного трафика в защищенную оболочку с шифрованием.
С помощью этой технологии серверы могут обеспечивать безопасный обмен трафиком между серверами и клиентами без возможности перехвата сообщений третьими сторонами. Система сертификатов также помогает пользователям подтверждать подлинность сайтов, к которым они подключаются.
В этом обучающем модуле мы покажем, как создать самоподписанный сертификат SSL для использования с веб-сервером Apache в Ubuntu 18.04.
Примечание. Самоподписанный сертификат шифрует данные, которыми ваш сервер обменивается с любыми клиентами. Однако поскольку он не подписан доверенным центром сертификации из числа встроенных в браузеры, пользователи не могут использовать этот сертификат для автоматической проверки подлинности вашего сервера.
Самоподписанный сертификат полезен в ситуациях, когда у вашего сервера нет доменного имени, а также в случаях, когда шифрованный веб-интерфейс не предназначен для взаимодействия с пользователями. Если у вас есть доменное имя, в большинстве случае будет полезнее использовать сертификат, подписанный центром сертификации. Вы можете узнать, как создать бесплатный доверенный сертификат с помощью проекта Let’s Encrypt, здесь.
Предварительные требования
Для начала у вас должен быть пользователь без прав root с привилегиями sudo . Чтобы создать такую учетную запись пользователя, следуйте указаниям руководства «Начальная настройка сервера с Ubuntu 18.04».
Также вам потребуется установить веб-сервер Apache. Если вы хотите установить на сервере полный комплект LAMP (Linux, Apache, MySQL, PHP), следуйте указаниям обучающего модуля «Установка LAMP в Ubuntu 18.04». Если вы хотите просто установить веб-сервер Apache, пропустите шаги, относящиеся к установке PHP и MySQL.
Когда предварительные требования будут выполнены, переходите к приведенным ниже шагам.
Шаг 1 – Создание сертификата SSL
Протоколы TLS и SSL используют сочетание открытого сертификата и закрытого ключа. Секретный ключ SSL хранится на сервере. Он используется для шифрования отправляемых на клиентские системы данных. Сертификат SSL находится в открытом доступе для всех, кто запрашивает этот контент. Его можно использовать для расшифровки контента, подписанного соответствующим ключом SSL.
Мы можем создать самоподписанный ключ и пару сертификатов OpenSSL с помощью одной команды:
Вам будет предложено ответить на ряд вопросов. Прежде чем перейти к этому шагу, посмотрим, что делает отправляемая нами команда:
- openssl: это базовый инструмент командной строки для создания и управления сертификатами OpenSSL, ключами и другими файлами.
- req: данная субкоманда указывает, что мы хотим использовать управление запросами подписи сертификатов X.509 (CSR). X.509 — это стандарт инфраструктуры открытых ключей, используемый SSL и TLS для управления ключами и сертификатами. Вы хотим создать новый сертификат X.509, и поэтому используем эту субкоманду.
- -x509: это дополнительно изменяет предыдущую субкоманду, сообщая утилите, что мы хотим создать самоподписанный сертификат, а не сгенерировать запрос на подпись сертификата, как обычно происходит.
- -nodes: этот параметр указывает OpenSSL пропустить опцию защиты сертификата с помощью пароля. Для чтения этого файла при запуске сервера без вмешательства пользователя нам потребуется Apache. Кодовая фраза может предотвратить это, поскольку нам придется вводить ее после каждого перезапуска.
- -days 365: данный параметр устанавливает срок, в течение которого сертификат будет считаться действительным. Здесь мы устанавливаем срок действия в один год.
- -newkey rsa:2048: указывает, что мы хотим генерировать новый сертификат и новый ключ одновременно. Мы не создали требуемый ключ для подписи сертификата на предыдущем шаге, и поэтому нам нужно создать его вместе с сертификатом. Часть rsa:2048 указывает, что мы создаем ключ RSA длиной 2048 бит.
- -keyout: эта строка указывает OpenSSL, где мы разместим создаваемый закрытый ключ.
- -out: данный параметр указывает OpenSSL, куда поместить создаваемый сертификат.
Как мы указывали выше, эти опции создают и файл ключа, и сертификат. Нам будет задано несколько вопросов о нашем сервере, чтобы правильно вставить информацию в сертификат.
Укажите подходящие ответы. Самая важная строка — это строка, где запрашивается обычное имя (т. е. FQDN сервера или ВАШЕ имя) . Вам нужно ввести доменное имя, связанное с вашим сервером или, что более вероятно, публичный IP-адрес вашего сервера.
В целом диалоги выглядят примерно так:
Оба созданных вами файла будут помещены в соответствующие подкаталоги в каталоге /etc/ssl .
Шаг 2 — Настройка Apache для использования SSL
Мы создали файлы ключа и сертификата в каталоге /etc/ssl . Теперь нам просто нужно изменить конфигурацию Apache, чтобы воспользоваться их преимуществами.
Внесем несколько небольших изменений в нашу конфигурацию:
- Создадим сниппет конфигурации, чтобы задать надежные параметры SSL по умолчанию.
- Мы изменим входящий в комплект файл виртуального хоста SSL Apache, чтобы он указывал на сгенерированные нами сертификаты SSL.
- (Рекомендуется) Мы изменим незашифрованный файл виртуального хоста, чтобы он автоматически перенаправлял запросы на шифрованный виртуальный хост.
После завершения настройки мы получим защищенную конфигурацию SSL.
Создание сниппета конфигурации Apache с надежными настройками шифрования
Прежде всего, мы создадим сниппет конфигурации Apache для определения некоторых параметров SSL. При этом в Apache будет настроен надежный пакет шифров SSL и будут включены расширенные функции, которые обеспечат безопасность нашего сервера. Настраиваемые нами параметры смогут использовать любые виртуальные хосты с SSL.
Создайте новый сниппет в каталоге /etc/apache2/conf-available . Мы назовем файл ssl-params.conf , чтобы сделать его назначение очевидным:
Для безопасной настройки Apache SSL мы используем рекомендации Реми ван Эльста на сайте Cipherli.st. Этот сайт создан для предоставления удобных настроек шифрования для популярного программного обеспечения.
Рекомендованные настройки на вышеуказанном сайте обеспечивают высокий уровень безопасности. Иногда это достигается за счет совместимости клиентских систем. Если вам требуется поддержка старых версий клиентов, вы можете использовать альтернативный список, нажав на странице ссылку «Да, мне нужны настройки шифрования для устаревшего / старого программного обеспечения». Этот список можно заменить для копируемых ниже элементов.
Выбор конфигурации в основном зависит от того, какие системы вам нужно поддерживать. Оба варианта обеспечивают высокий уровень безопасности.
Для наших целей мы скопируем предоставленные настройки полностью. Мы внесем только одно небольшое изменение. Мы отключим заголовок Strict-Transport-Security (HSTS).
Предварительная загрузка HSTS повышает безопасность, но может иметь далеко идущие последствия, если ее включить случайно или неправильно. В этом обучающем модуле мы не будем включать настройки, но вы можете изменить их, если понимаете возможные последствия.
Вставьте конфигурацию в открытый нами файл ssl-params.conf :
Сохраните файл и закройте его после завершения.
Изменение файла виртуального хоста Apache SSL по умолчанию
Теперь изменим /etc/apache2/sites-available/sl.conf , используемый по умолчанию файл виртуального хоста Apache SSL. Если вы используете другой файл серверных блоков, используйте имя этого файла в приведенных ниже командах.
Прежде чем продолжить, создадим резервную копию первоначального файла виртуального хоста SSL:
Теперь откройте файл виртуального хоста SSL для внесения изменений:
С удалением большинства комментариев содержание файла виртуального хоста по умолчанию должно выглядеть примерно так:
Мы внесем в файл незначительные изменения. Мы внесем желаемые изменения в файл виртуального хоста (адрес электронной почты администратора сервера, имя сервера и т. д.), а также изменим директив SSL, чтобы они указывали на наши файлы сертификатов и ключей.
После внесения изменений ваш серверный блок должен выглядеть примерно так:
Сохраните файл и закройте его после завершения.
(Рекомендуется) Изменение файла хоста HTTP для перенаправления на HTTPS
В настоящее время сервер будет предоставлять нешифрованный трафик HTTP и шифрованный трафик HTTPS. В большинстве случаев для обеспечения безопасности рекомендуется включить автоматическое перенаправление HTTP на HTTPS. Если вы не хотите использовать эту функцию, или она вам не нужна, вы можете спокойно пропустить этот раздел.
Чтобы изменить файл нешифрованного виртуального хоста для перенаправления всего трафика для шифрования SSL, мы можем открыть файл /etc/apache2/sites-available/000-default.conf :
Внутри файла в блоках конфигурации VirtualHost нам нужно добавить директиву Redirect , которая должна направлять весь трафик на версию сайта с шифрованием SSL:
Сохраните файл и закройте его после завершения.
Шаг 3 — Настройка брандмауэра
Если у вас включен брандмаэр ufw в соответствии с предварительными требованиями, вам может потребоваться изменить настройки для поддержки трафика SSL . К счастью, Apache регистрирует несколько профилей ufw после установки.
Мы можем просмотреть доступные профили с помощью следующей команды:
Список должен выглядеть примерно так:
Вы можете просмотреть текущие настройки с помощью следующей команды:
Если вам разрешен только обычный трафик HTTP, результаты могут выглядеть следующий образ:
Чтобы разрешить дополнительный трафик HTTPS, мы разрешим профиль «Apache Full» и удалим избыточный профиль «Apache»:
Теперь ваш статус должен выглядеть примерно так:
Шаг 4 — Активация изменений в Apache
Мы внесли изменения и настроили брандмауэр, и теперь можем включить в Apache модули SSL и заголовков, активировать наш виртуальный хост SSL и перезапустить Apache.
Мы можем активровать mod_ssl , модуль Apache SSL, и модуль mod_headers , необходимый для некоторых настроек нашего сниппета SSL, с помощью команды a2enmod :
Теперь мы можем активировать виртуальный хост SSL с помощью команды a2ensite :
Также нам нужно будет активировать файл ssl-params.conf для считывания заданных значений:
Мы активировали наш сайт и все необходимые модули. Теперь нам нужно проверить наши файлы на наличие ошибок в синтаксисе. Для этого можно ввести следующую команду:
Если проверка будет успешно пройдена, мы получим результат, выглядящий примерно так:
Первая строка — это сообщение о том, что директива ServerName не задана глобально. Если вы хотите избавиться от этого сообщения, вы можете задать для ServerName доменное имя вашего сервера или IP-адрес в каталоге /etc/apache2/apache2.conf . Это необязательно, потому что данное сообщение не наносит никакого вреда.
Если в результатах есть сообщение Syntax OK , в вашей конфигурации нет синтаксических ошибок. Мы можем безопасно перезапустить Apache для внесения изменений:
Шаг 5 — Тестирование шифрования
Теперь мы готовы протестировать наш сервер SSL.
Откройте браузер и введите https:// и доменное имя или IP-адрес вашего сервера в адресную панель:
Поскольку созданный нами сертификат не подписан одним из доверенных центров сертификации вашего браузера, вы увидите пугающее предупреждение, которое будет выглядеть примерно так:
Такое предупреждение нормально, и его следует ожидать. Сертификат нам нужен только для шифрования, а не для подтверждения подлинности нашего хоста третьей стороной. Нажмите «Дополнительно», а затем нажмите на указанную ссылку, чтобы перейти к своему хосту:
Теперь должен открыться ваш сайт. Если вы посмотрите в адресную строку браузера, вы увидите символ замка со знаком «x». В данном случае это означает, что сертификат не удается проверить. Ваше соединение все равно шифруется.
Если вы настроили Apache для перенаправления HTTP на HTTPS, вы можете проверить правильность перенаправления функций:
Если при этом появляется такой же значок, перенаправление работает правильно.
Шаг 6 – Переключение на постоянное перенаправление
Если перенаправление работает правильно, и вы хотите разрешить только шифрованный трафик, вам следует снова изменить файл нешифрованного виртуального хоста Apache и сделать перенаправление постоянным.
Откройте файл конфигурации серверного блока еще раз:
Найдите добавленную нами строку Redirect . Добавьте в эту строку атрибут permanent , который изменяет тип перенаправления с временного перенаправления 302 на постоянное перенаправление 301:
Сохраните и закройте файл.
Проверьте конфигурацию на ошибки синтаксиса:
Когда вы будете готовы, перезапустите Apache, чтобы сделать перенаправление постоянным:
Заключение
Вы настроили сервер Apache для использования защищенного шифрования клиентских соединений. Это обеспечит безопасное обслуживание запросов и не даст третьим сторонам возможности считывать ваш трафик.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
Как выпустить самоподписанный SSL сертификат и заставить ваш браузер доверять ему
Все крупные сайты давно перешли на протокол https. Тенденция продолжается, и многие наши клиенты хотят, чтобы их сайт работал по защищенному протоколу. А если разрабатывается backend для мобильного приложения, то https обязателен. Например, Apple требует, чтобы обмен данными сервера с приложением велся по безопасному протоколу. Это требование введено с конца 2016 года.
На production нет проблем с сертификатами. Обычно хостинг провайдер предоставляет удобный интерфейс для подключения сертификата. Выпуск сертификата тоже дело не сложное. Но во время работы над проектом каждый разработчик должен позаботиться о сертификате сам.
В этой статье я расскажу, как выпустить самоподписанный SSL сертификат и заставить браузер доверять ему.
Чтобы выпустить сертификат для вашего локального домена, понадобится корневой сертификат. На его основе будут выпускаться все остальные сертификаты. Да, для каждого нового top level домена нужно выпускать свой сертификат. Получить корневой сертификат достаточно просто.
Сначала сформируем закрытый ключ:
Затем сам сертификат:
Нужно будет ввести страну, город, компанию и т.д. В результате получаем два файла: rootCA.key и rootCA.pem
Переходим к главному, выпуск самоподписанного сертификата. Так же как и в случае с корневым, это две команды. Но параметров у команд будет значительно больше. И нам понадобится вспомогательный конфигурационный файл. Поэтому оформим все это в виде bash скрипта create_certificate_for_domain.sh
Первый параметр обязателен, выведем небольшую инструкцию для пользователя.
Создадим новый приватный ключ, если он не существует или будем использовать существующий:
Запросим у пользователя название домена. Добавим возможность задания “общего имени” (оно используется при формировании сертификата):
Чтобы не отвечать на вопросы в интерактивном режиме, сформируем строку с ответами. И зададим время действия сертификата:
В переменной SUBJECT перечислены все те же вопросы, который задавались при создании корневого сертификата (страна, город, компания и т.д). Все значение, кроме CN можно поменять на свое усмотрение.
Сформируем csr файл (Certificate Signing Request) на основе ключа. Подробнее о файле запроса сертификата можно почитать в этой статье.
Формируем файл сертификата. Для этого нам понадобится вспомогательный файл с настройками. В этот файл мы запишем домены, для которых будет валиден сертификат и некоторые другие настройки. Назовем его v3.ext. Обращаю ваше внимание, что это отдельный файл, а не часть bash скрипта.
Да, верно, наш сертификат будет валидным для основного домена, а также для всех поддоменов. Сохраняем указанные выше строки в файл v3.ext
Возвращаемся в наш bash скрипт. На основе вспомогательного файла v3.ext создаем временный файл с указанием нашего домена:
Переименовываем сертификат и удаляем временный файл:
Скрипт готов. Запускаем его:
Получаем два файла: mysite.localhost.crt и device.key
Теперь нужно указать web серверу пути к этим файлам. На примере nginx это будет выглядеть так:
Запускаем браузер, открываем https://mysite.localhost и видим:
Браузер не доверяет этому сертификату. Как быть?
Нужно отметить выпущенный нами сертификат как Trusted. На Linux (Ubuntu и, наверное, остальных Debian-based дистрибутивах) это можно сделать через сам браузер. В Mac OS X это можно сделать через приложение Keychain Access. Запускаем приложение и перетаскиваем в окно файл mysite.localhost.crt. Затем открываем добавленный файл и выбираем Always Trust:
Обновляем страницу в браузере и:
Успех! Браузер доверяет нашему сертификату.
Сертификатом можно поделиться с другими разработчиками, чтобы они добавили его к себе. А если вы используете Docker, то сертификат можно сохранить там. Именно так это реализовано на всех наших проектах.
Делитесь в комментариях, используете ли вы https для локальной разработки?
ИТ: Как создать самоподписанный сертификат безопасности (SSL) и развернуть его на клиентских машинах
Разработчики и ИТ-администраторы, несомненно, нуждаются в развертывании какого-либо веб-сайта через HTTPS с использованием сертификата SSL. Хотя этот процесс довольно прост для производственного сайта, для целей разработки и тестирования вам может понадобиться использовать сертификат SSL и здесь.
В качестве альтернативы приобретению и продлению годового сертификата вы можете воспользоваться способностью вашего Windows Server создавать самоподписанный сертификат, который удобен, прост и полностью отвечает этим требованиям.
Создание самозаверяющего сертификата в IIS
Хотя есть несколько способов выполнить задачу по созданию самозаверяющего сертификата, мы будем использовать служебную программу SelfSSL от Microsoft. К сожалению, он не входит в состав IIS, но доступен бесплатно как часть набора ресурсов IIS 6.0 (ссылка приведена в конце статьи). Несмотря на название «IIS 6.0», эта утилита отлично работает в IIS 7.
Все, что требуется, — это извлечь IIS6RT, чтобы получить утилиту selfssl.exe. Отсюда вы можете скопировать его в свой каталог Windows или на сетевой путь / USB-накопитель для будущего использования на другом компьютере (так что вам не нужно загружать и извлекать полную версию IIS6RT).
Установив служебную программу SelfSSL, выполните следующую команду (от имени администратора), заменив значения в <> соответствующим образом:
selfssl / N: CN = <your.domain.com> / V: <количество действительных дней>
В приведенном ниже примере создается самозаверяющий сертификат с подстановочными знаками для «mydomain.com» и устанавливается его срок действия 9 999 дней. Кроме того, при ответе «да» на запрос этот сертификат автоматически настраивается для привязки к порту 443 внутри веб-сайта по умолчанию IIS.
Хотя к этому моменту сертификат готов к использованию, он хранится только в личном хранилище сертификатов на сервере. Рекомендуется также установить этот сертификат в доверенном корне.
Выберите Пуск> Выполнить (или Windows Key + R) и введите «mmc». Вы можете получить приглашение UAC, примите его, и откроется пустая консоль управления.
В консоли выберите «Файл»> «Добавить / удалить оснастку».
Добавьте сертификаты с левой стороны.
Выберите учетную запись компьютера.
Выберите Локальный компьютер.
Щелкните OK, чтобы просмотреть хранилище локальных сертификатов.
Перейдите в Личные> Сертификаты и найдите сертификат, который вы установили с помощью утилиты SelfSSL. Щелкните сертификат правой кнопкой мыши и выберите Копировать.
Перейдите к Надежным корневым центрам сертификации> Сертификаты. Щелкните правой кнопкой мыши папку «Сертификаты» и выберите «Вставить».
В списке должна появиться запись для сертификата SSL.
На этом этапе у вашего сервера не должно быть проблем с работой с самоподписанным сертификатом.
Экспорт сертификата
Если вы собираетесь получить доступ к сайту, который использует самоподписанный сертификат SSL на любом клиентском компьютере (то есть на любом компьютере, который не является сервером), во избежание потенциального нападения ошибок сертификата и предупреждений следует установить самоподписанный сертификат. на каждой из клиентских машин (которые мы подробно обсудим ниже). Для этого нам сначала нужно экспортировать соответствующий сертификат, чтобы его можно было установить на клиентах.
В консоли с загруженным управлением сертификатами перейдите в раздел Доверенные корневые центры сертификации> Сертификаты. Найдите сертификат, щелкните правой кнопкой мыши и выберите Все задачи> Экспорт.
Когда будет предложено экспортировать закрытый ключ, выберите Да. Нажмите «Далее.
Оставьте значения по умолчанию для формата файла и нажмите Далее.
Введите пароль. Это будет использоваться для защиты сертификата, и пользователи не смогут импортировать его локально без ввода этого пароля.
Введите место для экспорта файла сертификата. Он будет в формате PFX.
Подтвердите свои настройки и нажмите Готово.
Полученный PFX-файл будет установлен на ваши клиентские машины, чтобы сообщить им, что ваш самоподписанный сертификат получен из надежного источника.
Развертывание на клиентских машинах
После того, как вы создали сертификат на стороне сервера и все работает, вы можете заметить, что когда клиентский компьютер подключается к соответствующему URL-адресу, отображается предупреждение о сертификате. Это происходит потому, что центр сертификации (ваш сервер) не является надежным источником сертификатов SSL на клиенте.
Вы можете просмотреть предупреждения и получить доступ к сайту, однако вы можете получать повторяющиеся уведомления в виде выделенной строки URL-адреса или повторяющихся предупреждений о сертификатах. Чтобы избежать этого раздражения, вам просто нужно установить собственный сертификат безопасности SSL на клиентском компьютере.
В зависимости от используемого вами браузера этот процесс может отличаться. IE и Chrome читают из хранилища сертификатов Windows, однако Firefox имеет собственный метод обработки сертификатов безопасности.
Важная заметка: Вам следует никогда установить сертификат безопасности из неизвестного источника. На практике вам следует устанавливать сертификат локально, только если вы его создали. Ни один законный веб-сайт не потребует от вас выполнения этих действий.
Internet Explorer и Google Chrome — установка сертификата локально
Примечание. Хотя Firefox не использует собственное хранилище сертификатов Windows, это все же рекомендуется.
Скопируйте сертификат, который был экспортирован с сервера (файл PFX), на клиентский компьютер или убедитесь, что он доступен по сетевому пути.
Откройте управление локальным хранилищем сертификатов на клиентском компьютере, выполнив те же действия, что и выше. В конечном итоге вы попадете на экран, подобный показанному ниже.
С левой стороны разверните Сертификаты> Доверенные корневые центры сертификации. Щелкните правой кнопкой мыши папку «Сертификаты» и выберите «Все задачи»> «Импорт».
Выберите сертификат, который был скопирован локально на ваш компьютер.
Введите пароль безопасности, назначенный при экспорте сертификата с сервера.
Магазин «Доверенные корневые центры сертификации» должен быть предварительно указан в качестве пункта назначения. Нажмите «Далее.
Проверьте настройки и нажмите Готово.
Вы должны увидеть сообщение об успешном выполнении.
Обновите представление папки «Доверенные корневые центры сертификации»> «Сертификаты», и вы должны увидеть самоподписанный сертификат сервера, указанный в магазине.
Когда это будет сделано, вы сможете перейти на сайт HTTPS, который использует эти сертификаты, и не получать никаких предупреждений или запросов.
Firefox — разрешение исключений
Firefox обрабатывает этот процесс немного по-другому, поскольку он не считывает информацию сертификата из магазина Windows. Вместо того, чтобы устанавливать сертификаты (как таковые), он позволяет вам определять исключения для сертификатов SSL на определенных сайтах.
Когда вы посещаете сайт с ошибкой сертификата, вы получите предупреждение, подобное приведенному ниже. В области синего цвета будет указан соответствующий URL-адрес, к которому вы пытаетесь получить доступ. Чтобы создать исключение для обхода этого предупреждения для соответствующего URL-адреса, нажмите кнопку «Добавить исключение».
В диалоговом окне Добавить исключение безопасности щелкните Подтвердить исключение безопасности, чтобы настроить это исключение локально.
Обратите внимание, что если конкретный сайт перенаправляет на поддомены изнутри себя, вы можете получить несколько предупреждений системы безопасности (каждый раз URL-адрес немного отличается). Добавьте исключения для этих URL-адресов, выполнив те же действия, что и выше.
Вывод
Стоит повторить указанное выше, что вам следует никогда установить сертификат безопасности из неизвестного источника. На практике вам следует устанавливать сертификат локально, только если вы его создали. Ни один законный веб-сайт не потребует от вас выполнения этих действий.