Онлайн Генератор Самоподписанного SSL Сертификата для Сайта, Создать Самоподписанный SSL Сертификат Бесплатно
Использование SSL сертификатовСертификаты SSL необходимы, когда вам нужно открывать веб-сайты, используя HTTPS протокол. Профессиональным веб-сайтам требуются профессиональные надежные SSL сертификаты центров SSL сертификации, таких как Comodo, Symantec, Thawte, GeoTrust, RapidSSL. Доверенные SSL сертификаты используют цепочку доверия, где каждый сертификат подписан (доверен) более высоким и более надежным сертификатом. В верхней части цепочки доверия находятся корневые сертификаты, принадлежащие Verisign или GeoTrust. Такие корневые сертификаты обычно поставляются с вашей операционной системой или веб-браузером.
Как браузер анализирует SSL ответ
Когда вы посещаете веб-сайт по HTTPS протоколу, ваш веб-браузер получает SSL сертификат для веб-сайта. Он проверяет SSL сертификат, чтобы убедиться, что он действительно выдан для этого имени домена, которое вы открываете. После этого он проверит цепочку доверия и кто его подписал. Если этот SSL сертификат является корневым сертификатом, браузер сравнит его с теми, которые поставляются с операционной системой. Если это сертификат не корневой но подписан доверенным SSL сертификатом, он проверит всю цепочку доверия.
При использовании самоподписанного SSL сертификата у него нет цепочки доверия. Сертификат подписан самим собой. Веб-браузер обнаружит это и покажет предупреждение, сообщая вам, что сертификат веб-сайта не трастовый. Поэтому не стоит использовать самоподписанные SSL сертификаты для профессионального использования, так как ваши посетители не будут доверять вашему веб-сайту и могут отказаться от его использования.
Реальные трастовые SSL сертификаты
Настоящие доверенные SSL сертификаты безопасны и защищённы, браузеры доверяют им, а все посетители не получают никаких SSL предупреждений. Мы предоставляем огромное количество настоящих трастовых SSL сертификатов, каждый может найти наиболее подходящий SSL продукт.
Создание SSL-сертификата веб-сервера Apace на Ubuntu 12.04
Что означает красный цвет
В этом руководстве мы будем выделять красным цветом те места, в которых пользователю нужно будет ввести какие-либо данные или внести какие-то изменения. В остальном, предложенные команды можно просто скопировать и вставить в командную строку терминала.
Немного о SSL-сертификатах
SSL-сертификаты используются для шифрования информация на сайте и создания безопасных соединений. Кроме того, такой сертификат может использоваться посетителями для получения информации о VPS-сервере, на котором запущен сайт. SSL-сертификаты могут выдаваться специальные сертификационными центрами, которые уполномочены проверять и подтверждать информацию о сервере, также существуют самоподписанные сертификаты, созданные владельцами сайтов, которые никто не «заверяет».
Настройка
Для того, чтобы сгенерировать сертификат, вам необходимо обладать root-правами на вашем сервере (в системе 1cloud такие права пользователи получают по-умолчанию). Кроме того, необходимо установить веб-сервер Apache (о том, как это сделать написано в нашей статье «Как установить LAMP-стек (Linux, Apache, MySqL, PHP) на сервере с Ubuntu»).
Если Apache еще не установлен на сервере, это можно сделать с помощью специальной команды:
sudo apt-get install apache2
Шаг #1: Активация модуля SSL
Затем нужно активировать модуль SSL на сервере:
sudo a2enmod ssl
И перезапустить Apache, чтобы изменения вступили в силу:
sudo service apache2 restart
Шаг #2: Создание новой директории
Нужно создать новую директорию (то есть папку), где будут хранится ключ сервера и сам сертификат:
sudo mkdir /etc/apache2/ssl
Шаг #3: Создание самоподписанного SSL-сертификата
При «заказе» сертификата можно установить срок, в течение которого он должен оставаться действующим (число 365 в запросе можно поменять на любое другое). Мы создадим сертификат, который будет действителен в течение одного года:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
С помощью этой команды запускается создание самоподписанного SSL-сертификата, а также серверного ключа для его защиты. Оба этих фала будут храниться в ранее созданной директории.
В процессе создания сертификата система будет задавать вопросы, на которые нужно будет ответить.
Самое важное поле “Common Name” — здесь нужно вбить доменное имя сайта, если у него еще нет домена (или его использование не предполагается), можно вбить IP-адрес.
You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:RU State or Province Name (full name) [Some-State]:Moscow Region Locality Name (eg, city) []:Moscow Organization Name (eg, company) [Internet Widgits Pty Ltd]:OOO Romashka Organizational Unit Name (eg, section) []:Sales Common Name (e.g. server FQDN or YOUR name) []:example.com Email Address []:[email protected]
Шаг #4: Установка сертификата
После того, как проделаны все подготовительные процедуры, необходимо сконфигурировать виртуальные хосты для отображения сертификата. Для этого в текстовом редакторе нужно открыть конфигурационный файл SSL:
nano /etc/apache2/sites-available/default-ssl
Здесь в секции, начинающейся со слов <virtualhost _default_:443=»»>, нужно дописать строку с именем сервера (ServerName):
ServerName example.com:443
Слово example.com надо заменить на доменное имя сайта или IP-адрес сервера (значение должно совпадать с тем, что вы внесли в поле CommonName при создании SSL-сертификата). Также нужно найти поиском три строки и убедиться что в них указаны значение, как в примере ниже:
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
Затем нужно сохранить изменения и выйти из файла.
Шаг #5: Активация нового виртуального хоста
Прежде чем активировать сайт на 443 порте, нужно включить соответствующий виртуальный хост:
sudo a2ensite default-ssl
После этого нужно перезагрузить Apache:
sudo service apache2 reload
После этого нужно вбить в браузер https://адрес_сайта, чтобы увидеть новый сертификат.
Спасибо за Вашу оценку! К сожалению, проголосовать не получилось. Попробуйте позже
ru191014 Санкт-Петербург ул. Кирочная, 9
+7(812)313-88-33 235 70 1cloud ltd 2018-12-07 Создание SSL-сертификата для Apache на Ubuntu 12.04191014 Санкт-Петербург ул. Кирочная, 9
+7(812)313-88-33 235 70 1cloud ltd 2018-12-07 Создание SSL-сертификата для Apache на Ubuntu 12.04 600 autoСоздание сертификата SSL | REG.RU
SSL-сертификат для сайта — что это такое и для чего он нужен? Установка HTTPS (TLS) сертификата помогает обеспечить защиту передаваемых данных. В этом случае соединение, устанавливаемое между браузером и сайтом, происходит по протоколу HTTPS. Данные, которые передаются по протоколу HTTPS, кодируются криптографическим протоколом, тем самым обеспечивается их защита. Чтобы стать обладателем SSL-сертификата, достаточно выбрать наиболее подходящий для вас, указать доменное имя, для которого он будет установлен, и, следуя инструкциям автоматической системы заказа, осуществить покупку.
Компания REG.RU предлагает своим клиентам самые популярные SSL-сертификаты от ведущих компаний мира, таких как Globalsign, Symantec (VeriSign), GeoTrust, Thawte, Comodo и TrustWave. Только у нас можно подобрать и приобрести именно такой, который будет идеально подходить для вашего бизнеса: простой, средний уровень, мультидоменный, EV с расширенной проверкой и другие. Почти для всех из них доступна цифровая или электронная «Печать доверия», которая динамически отображает информацию о надёжности и защищённости вашего сайта.
Что такое SSL-сертификат?
SSL-сертификат — это цифровое удостоверение вашего сайта, которое подтверждает то, что обмен данными между сайтом и вашим компьютером производится по доверенному защищённому каналу. Защита сайта с помощью SSL позволяет шифровать всю информацию, передаваемую между сайтом и клиентскими программами.
Важнейшим преимуществом является то, что они подтверждают не только технологическую безопасность сайта, с которым работает пользователь, но и гарантируют юридическую чистоту. При его выдаче удостоверяющий центр проверяет право администрирования доменным именем, юридические регистрационные документы, работу офиса, контактные телефоны компании. Проведение подобной комплексной аттестации позволяет гарантировать пользователю, что компания, которая обладает данным SSL, работает легально и не является сайтом-однодневкой.
SSL-сертификат позволяет пользователю просматривать следующую подтверждённую удостоверяющим центром информацию:
- доменное имя, на которое оформлен SSL-сертификат
- юридическое лицо — владелец сертификата
- физическое местонахождение (город, страна)
- срок действия сертификата
- реквизиты компании-поставщика SSL-сертификатa
Генерация и использование SSL-сертификатов в Linux
В целях безопасности, в частности во избежание перехвата конфиденциальных, персональных или важных данных. Многие владельцы сайтов в сети защищают трафик с помощью SSL-сертификатов. Естественно, защите подлежит только тот трафик, который связан непосредственно с запросами и передачей данных с определённым адресом — адресом сайта. Системные администраторы, сотрудники техподдержки должны ориентироваться в вопросах, касающихся создания и внедрения SSL-сертификатов для хостов. Поскольку предоставляют соответствующие услуги. Для этих целей в системах Linux существует утилита openssl. Она является свободной реализацией методов защиты, протокола SSL, а также генерации сертификатов.
Как SSL-сертификат помогает защитить данные?
На самом деле схема защиты трафика основана на его шифровании открытым ключом и его расшифровке закрытым ключом. Понятие SSL-сертификата применимо в контексте подтверждения того факта, что открытый ключ действительно принадлежит именно тому домену, с которым происходит соединение. Таким образом, в данной схеме присутствуют две составляющие:
- Пара ключей (открытый и закрытый) — для шифрования/расшифровки трафика;
- Подпись открытого ключа. Гарантирующая, что он подлинный и обслуживает именно тот домен, для которого и был создан.
Обе эти составляющие и представляют собой то, что принято обозначать понятием SSL-сертификат. Подпись является гарантией, поскольку выдаётся авторитетным центрами сертификации. Это доступные всем онлайн-сервисы (достаточно воспользоваться любой поисковой системой), которым можно отправить свой ключ, заполнив соответствующую анкету. Далее сервис (центр сертификации) обрабатывает данные из анкеты и сам ключ и высылает уже подписанный ключ обратно его владельцу. Среди самых популярных на сегодняшний день центров сертификации являются такие как Comodo.
Общий порядок создания SSL-сертификата, ключи и подпись
Во время создания SSL-сертификата происходит последовательная обработка следующих видов ключей:
- *.key – это сами ключи шифрования, открытий и/или закрытый;
- *.csr – ключ, содержащий сформированный запрос для получения подписи сертификата от центра сертификации, а сам запрос — это открытый ключ и информация о домене и организации, связанной с ним;
- *.crt, *.cer, *.pem – это, собственно, сам сертификат, подписанный центром сертификации по запросу из файла *.csr.
Для начала нужно создать закрытый ключ:
$ openssl genrsa -des3 -out server.key 2048
Здесь команда genrsa генерирует RSA-ключ, опция -des3 указывает алгоритм шифрования ключа. А опция -out указывает, что ключ должен быть получен в виде файла server.key. Число 2048 — это сложность шифрования. При выполнении этой команды пользователю будет предложено ввести пароль для шифрования. Поскольку указан его алгоритм опцией -des3. Если это личный ключ и его планируется использовать на сервере, который можно настроить в собственных целях, то естественно шифрование обязательно. Однако, многие серверы требуют закрытые ключи без шифрования (например хостинг-площадки, поскольку предоставляют универсальную услугу по заказу SSL-сертификатов). Поэтому перед генерацией закрытого ключа нужно определиться, как он будет использоваться.
Теперь нужно создать запрос на подпись — CSR-файл, который будет включать только что сгенерированный ключ server.key:
$ openssl req -new -key server.key -out server.csr
При выполнении этой команды пользователю необходимо ввести информацию о домене и организации. Причём наименование домена следует вводить точно, например, если идентификатор URL сайта https://mycompany.com, то ввести нужно mycompany.com. Для URL-идентификатора www.mycompany.com уже необходим отдельный сертификат.
Теперь файл server.csr со сформированным запросом на подпись можно отправить в выбранный центр сертификации.
Подписание SSL-сертификатов
Получить подписанный сертификат, когда имеется закрытый ключ и запрос на подпись можно несколькими способами: воспользоваться услугой авторитетных центров сертификации, отправив им запрос (CSR-файл) и получив в ответ готовый сертификат *.crt. Либо можно сделать сертификат самоподписанным. Т. е. подписать его тем же ключом, который использовался при создании файла CSR. Для этого следует выполнить команду:
$ openssl x509 -signkey server.key -in server.csr -req -days 365 -out server.crt
Здесь опция -days указывает количество дней, в течение которых выпускаемый сертификат server.crt будет действителен. В данном случае на протяжении одного года.
Также можно создать самоподписанный сертификат из имеющегося закрытого ключа без использования CSR-файла. Но в этом случае нужно вводить информацию CSR-запроса:
$ openssl req -key server.key -new -x509 -days 365 -out server.crt
Параметр -x509 задаёт формат генерируемого сертификата. Он является самым распространённым и используется в большинстве случаев. Опция -new позволяет запрашивать информацию для запроса у пользователя.
Важно отметить, что сертификаты, подписанные авторитетными центрами сертификации известны веб-браузерам. Самоподписанные сертификаты необходимо импортировать в хранилище доверенных сертификатов веб-браузера вручную. Поскольку соединения с доменами, обслуживаемыми такими сертификатами по-умолчанию блокируются.
Использование SSL-сертификатов для домена
Для использования сертификата доменом, для которого он был создан, необходимо соответствующим образом настроить виртуальный хост этого домена. Для начала нужно сохранить файлы *.crt и *.key где-нибудь, где доступ к ним может получить только их владелец. Например в ~/ssl/certs/ нужно поместить файл server.crt, в ~/ssl/private/ — файл server.key. Далее, в конфигурационном файле виртуального хоста нужно определить следующие директивы:
SSLCertificateFile /home/john/ssl/certs/server.crt SSLCertificateKeyFile /home/john/ssl/private/server.key
Важно заметить, что для SSL-соединений домена должен быть отдельный конфигурационный файл (или просто отдельная конфигурация в одном файле) виртуального хоста для него. Это необходимо, поскольку обычные HTTP-соединения обрабатываются по порту 80, а HTTPS (SSL) — по 443. Это отдельные конфигурации одного виртуального хоста (хотя это не совсем верное определение). Также для Apache должен быть включен модуль SSL. Типичная конфигурация может выглядеть следующим образом:
<IfModule mod_ssl.c> <VirtualHost 128.138.243.150:443> ServerName www.mycompany.com ServerAdmin [email protected] DocumentRoot /var/www/htdocs/mycompany ErrorLog logs/www.mycompany.com-ssl-error_log CustomLog logs/www.mycompany.com-ssl-access_log combined ScriptAlias /cgi-bin/ /var/www/cgi-bin/mycompany SSLEngine on SSLCertificateFile /home/john/ssl/certs/server.crt SSLCertificateKeyFile /home/john/ssl/private/server.key </VirtualHost> </IfModule>
Как подключить ssl сертификата в nginx читайте в этой статье.
Заключение
В заключение следует заметить, что генерация и подключение SSL-сертификатов к домену — далеко не самая сложная задача. Однако она требует очень внимательного выполнения отдельных её этапов, поскольку от ошибки зависит безопасность для домена.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Установка SSL сертификата на домен
Статья давно не обновлялась, поэтому информация могла устареть.
Для установки сертификата потребуется:
- Файл сертификата и цепочка сертификата. Центр сертификации присылает эти данные на почтовый ящик владельца сертификата.
- Ключ сертификата. Он у вас должен быть. Ключ генерируется перед заказом сертификата, на основе ключа генерируется csr запрос.
- Root доступ к серверу.
После выпуска заказанного сертификата, на email, который был указан при заказе, Вы получите все необходимые файлы.
Далее:
1. Зайдите в ISPmanager под пользователем, которому принадлежит домен. Войдя под root’ом это можно сделать так: ISPmanager — Пользователи — выделите пользователя — нажмите «Вход» (справа вверху кнопка с изображением лестницы и двери).
Примечание: не забудьте для пользователя включить SSL (ISPmanager — Пользователи — двойной клик по пользователю — вкладка «Права»)
2. В разделе World Wide Web — «SSL-сертификаты» — справа вверху кнопка «Создать». Укажите «Тип сертификата» — существующий и заполните все поля:
Имя сертификата — имя сертификата, под которым он будет отображаться в системе. Может содержать буквы латинского алфавита, цифры, точки, а также знаки _ и —
Приватный ключ — укажите содержимое файла приватного ключа
Сертификат — укажите содержимое файла SSL-сертификата
Пароль — указывайте, если ключ сертификата зашифрован (обычно не требуется)
Цепочка сертификатов — Certificate bundle: цепочка сертификатов, которыми подписан данный сертификат. Подробнее о цепочках, в зависимости от типа сертификата, можно узнать в специальной статье.
3. После успешного добавления сертификата в разделе «WWW домены» можно его включить для сайта (двойной клик — установить галочку «SSL» — выбрать из списка нужный сертификат)
4. Детальная проверка установленного сертификата доступна по ссылкам:
Веб-сервер Apache
Если ssl запросы обрабатывает Apache, то сертификат устанавливается в файле конфигурации Apache. Проверить какой веб сервис отвечает на 443 (ssl) порту можно командой:
# netstat -napt | grep 443 tcp 0 0 188.120.233.16:443 0.0.0.0:* LISTEN 731/apache2
# sockstat |grep 443 root httpd 83299 19 tcp4 188.120.225.20:443 *:*
Для установки сертификата откройте конфигурационный файл Apache. На FreeBSD это /usr/local/etc/apache22/httpd.conf. Debian — /etc/apache2/apache2.conf. Centos — /etc/httpd/conf/httpd.conf. Найдите VirtualHost вашего домена.
Иногда вы можете найти блоки <VirtualHost> в отдельных файлах, в директории веб сервера.
Создайте блок <VirtualHost> для подключения SSL соединения. Пример:
<VirtualHost 10.0.0.1:443> DocumentRoot /var/www/user/data/www/domain.com ServerName domain.com SSLEngine on SSLCertificateFile /path/to/domain.crt SSLCertificateKeyFile /path/to/domain.key SSLCACertificateFile /path/to/ca.crt </VirtualHost>
Где
- domain.com — имя вашего домена.
- 10.0.0.1 — ip адрес, на котором находится домен.
- /var/www/user/data/www/domain.com — путь до домашней директории вашего домена.
- /path/to/domain.crt — файл, в котором находится сертификат.
- /path/to/domain.key — файл, в котором находится ключ сертификата.
- /path/to/ca.crt — файл корневого сертификата.
Перезапустите Apache командой apachectl restart или apache2ctl restart
Веб-сервер Nginx
Если ssl запросы обрабатывает Nginx, то сертификат устанавливается в файле конфигурации Nginx.
Откройте конфигурационный файл Nginx. На Linux — /etc/nginx/nginx.conf
Создайте серверный модуль для SSL соединения. Пример:
server { listen 10.0.0.1:443; server_name domain.com; ssl on; ssl_certificate /path/to/domain.crt; ssl_certificate_key /path/to/domain.key ; }
Где
- domain.com — имя вашего домена.
- 10.0.0.1 — ip адрес, на котором находится домен.
- /path/to/domain.crt — файл, в котором находится сертификат.
- /path/to/domain.key — файл, в котором находится ключ сертификата.
Цепочка сертификатов дописывается в файл с сертификатом.
Возьмем пример с Comodo Positive SSL. Центр сертификации присылает файлы domain.crt, PositiveSSLCA2 и AddTrustExternalCARoot. Цепочкой сертификата будет содержание файла PositiveSSLCA2 + AddTrustExternalCARoot. В итоге файл domain.crt должен содержать сертификат домена + сертификаты PositiveSSLCA2 + AddTrustExternalCARoot.
Перезапустите Nginx
/etc/init.d/nginx restart
Несколько SSL сертификатов на одном ip адресе
Если используется несколько сертификатов на одном ip адресе, то браузер получит сертификат сервера по умолчанию, независимо от запрашиваемого имени сервера. Это связано с поведением протокола SSL. SSL-соединение устанавливается до того, как браузер посылает HTTP-запрос, и веб сервер не знает имени запрашиваемого сервера. Следовательно, он лишь может предложить сертификат сервера по умолчанию.
Решение для работы нескольких HTTPS-серверов на одном IP-адресе — расширение Server Name Indication протокола TLS (SNI, RFC 6066), которое позволяет браузеру передать запрашиваемое имя сервера во время SSL handshake, а значит сервер будет знать, какой сертификат ему следует использовать для соединения. Почти все современные браузеры поддерживают SNI, однако чтобы использовать SNI, соответствующая поддержка должна присутствовать также в библиотеке OpenSSL. OpenSSL поддерживает SNI начиная с версии 0.9.8f.
Полезные команды Openssl
- Создание ключа для SSL-сертификата.
openssl req -batch -noout -new -newkey rsa:2048 -nodes -keyout cert.key
- Генерация CSR-запроса:
openssl req -new -key cert.key -out cert.csr
- Убрать пароль с ключа:
openssl rsa -in cert.key -out cert.key
- Посмотреть данные CSR:
openssl req -noout -text -in cert.csr
- Данные сертификата (проверить кем выдан, например):
openssl x509 -noout -text -in cert.crt
- Проверить, что ключ соответствует сертификату:
openssl x509 -noout -modulus -in cert.crt | openssl md5 openssl rsa -noout -modulus -in cert.key | openssl md5
Два значения должны совпадать.
- Узнать длину запроса:
echo '(' `openssl req -noout -modulus -in cert.csr | cut -d'=' -f2 | wc -c` '-1)*4' | bc
- Проверить выдачу HTTPS:
openssl s_client -host ulanovka.ru -port 443
Создание CSR запроса для Microsoft IIS
- Нажмите Start — Administrative Tools — Internet Information Services (IIS) Manager.
- Нажмите на имя сервера.
- В разделе IIS откройте Server Certificates.
- Затем справа из меню Actions выберите Create Certificate Request. Откроется окно мастера создания запроса.
- Введите всю необходимую информацию.
Нажмите Next.
- В следующем окне можно все оставить без изменений. Нажмите Next.
- Введите имя вашего CSR файла.
- Откройте файл, используя текстовый редактор. Для оформления сертификата передайте свой CSR вместе с тэгами BEGIN и END.
- Нажмите Start — Administrative Tools — Internet Information Services (IIS) Manager.
- Нажмите на имя сервера.
- В разделе IIS откройте Server Certificates.
- Затем справа из меню Actions выберите Complete Certificate Request. Откроется окно мастера.
- Загрузите выданный Вам центром сертификации сертификат. Затем введите имя сертификата (оно необходимо только администратору для дальнейшей работы).
- Нажмите Оk, и сертификат будет установлен на сервер.
- Для того, чтобы установить данный сертификат на нужный веб-домен, перейдите в раздел Sites и выберите сайт, для которого заказан сертификат. Из меню Actions в правой части страницы нажмите на Bindings. Откроется окно Site Bindings.
- В окне Site Bindings нажмите Add… Откроется окно Add Site Binding.
- В меню Type выберите https. В меню IP address должен быть IP адрес сайта или All Unassigned. Порт — 443. В поле SSL Certificate выберите Ваш сертификат.
Нажмите Ok.
- Ваш сертификат установлен.
Бесплатный SSL сертификат для сайта — Разработка на vc.ru
{«id»:99618,»url»:»https:\/\/vc.ru\/dev\/99618-besplatnyy-ssl-sertifikat-dlya-sayta»,»title»:»\u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 SSL \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u0430″,»services»:{«facebook»:{«url»:»https:\/\/www.facebook.com\/sharer\/sharer.php?u=https:\/\/vc.ru\/dev\/99618-besplatnyy-ssl-sertifikat-dlya-sayta»,»short_name»:»FB»,»title»:»Facebook»,»width»:600,»height»:450},»vkontakte»:{«url»:»https:\/\/vk.com\/share.php?url=https:\/\/vc.ru\/dev\/99618-besplatnyy-ssl-sertifikat-dlya-sayta&title=\u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 SSL \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u0430″,»short_name»:»VK»,»title»:»\u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435″,»width»:600,»height»:450},»twitter»:{«url»:»https:\/\/twitter.com\/intent\/tweet?url=https:\/\/vc.ru\/dev\/99618-besplatnyy-ssl-sertifikat-dlya-sayta&text=\u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 SSL \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u0430″,»short_name»:»TW»,»title»:»Twitter»,»width»:600,»height»:450},»telegram»:{«url»:»tg:\/\/msg_url?url=https:\/\/vc.ru\/dev\/99618-besplatnyy-ssl-sertifikat-dlya-sayta&text=\u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 SSL \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u0430″,»short_name»:»TG»,»title»:»Telegram»,»width»:600,»height»:450},»odnoklassniki»:{«url»:»http:\/\/connect.ok.ru\/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl=https:\/\/vc.ru\/dev\/99618-besplatnyy-ssl-sertifikat-dlya-sayta»,»short_name»:»OK»,»title»:»\u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438″,»width»:600,»height»:450},»email»:{«url»:»mailto:?subject=\u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 SSL \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u0430&body=https:\/\/vc.ru\/dev\/99618-besplatnyy-ssl-sertifikat-dlya-sayta»,»short_name»:»Email»,»title»:»\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u043e\u0447\u0442\u0443″,»width»:600,»height»:450}},»isFavorited»:false}
7502 просмотров
Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04
Мы покажем вам как создать сертификат, а также настроить веб-сервер Nginx для поддержки SSL
SSL (Secure Socket Layers) представляет собой криптографический протокол для защиты, передаваемых в интернете между клиентом и сервером. Протокол делает невозможным перехват данных злоумышленниками. SSL также помогают пользователям проверять подлинность посещаемые ресурсов. В этой статье мы покажем вам как можно сделать для веб-сервера Nginx на Ubuntu 16.04 самоподписанный сертификат.
Имейте ввиду, что такой SSL не способен подтвердить подлинность сервера из-за отсутствия подтверждения от специального сертификационного центра. Сертификат способен лишь обеспечивать шифрование канала передачи данных. Его можно применять пользователям без доменного имени. Если домен у вас уже есть, то SSL придется заверить в центре сертификации. Вы также можете получить от сервиса Let’s Encrypt бесплатный доверенный сертификат.
Нам потребуется:
- • Уже настроенный сервер Nginx;
- • Не-root пользователь, имеющий доступ к sudo.
1. Как создать сертификат?
SSL для работы применяет сочетание закрытого ключа и открытого сертификата. Ключ находится на сервере и доступа к нему нет. Сертификат же доступен всем пользователям, которые загружают контент с сервера. Для создания самоподписанного SSL и ключа нам нужно набрать в командной строке:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout
/etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt
На экране вы увидите несколько вопросов. Из компонентов команды можно выделить:
- • Openssl – это базовый инструмент командной строки. Он нужен для создания и управления сертификатами, а также файлами OpenSSL и ключами;
- • Подкоманда req показывает, что требуется запрос для подписи сертификата X.509 (CSR). Это стандарт инфраструктуры для открытых ключей, для управления сертификатами;
- • Опция –x509 способна вносить поправки в предыдущую команду. Они сообщает о том, что нужно создать самоподписанный сертификат вместо запроса на его подпись;
- • -nodes служит для пропуска опции защиты SSL-сертификата с помощью пароля. Это необходимо для тог, чтобы Nginx при запуске считывал файл без необходимости вмешательства пользователя. Если поставить пароль – его нужно будет вводить после каждой перезагрузки;
- • Опция -days365 поможет задать срок действия сертификата;
- • Параметр -newkey rsa:2048 дает возможность сделать одновременно сертификат и ключ, ведь он не был создан ранее. Число 2048 значит, что ключ будет на 2048 бит;
- • Строка -keyout показывает, куда OpenSSL переместит полученный файл ключа;
- • Опция -out делает то же самое, но для сертификата.
С помощью вышеописанных опций вы сможете сгенерировать одновременно сертификат с ключом. Вам нужно лишь указать данные сервера, отображающиеся в SSL.
Строка common name очень важна. В нее нужно написать свое имя или полное доменное имя вашего сервера. Простыми словами: она нужна для связи с сервером доменного имени. Если его нет, укажите IР сервера. Поля будут выглядеть как-то так:
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New York
Locality Name (eg, city) []:New York City
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Bouncy Castles, Inc.
Organizational Unit Name (eg, section) []:Ministry of Water Slides
Common Name (e.g. server FQDN or YOUR name) []:server_IP_address
Email Address []:admin@your_domain.com
Обратите внимание, что файлы сертификата и ключа будут перемещены в папку /etc/nginx/ssl. Если применять OpenSSL, вам предстоит также сделать специальные ключи Диффи-Хеллмана для поддержки PFS. Чтобы это сделать, наберите в командной строке:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Подождите несколько минут пока сгенерируются ключи. Они будут размещены в каталоге /etc/ssl/certs/dhparam.pem.
2. Как настроить Nginx для поддержки SSL-сертификатов?
Созданные нами ключи хранятся в папке: /etc/ssl. Теперь нам нужно будет внести правки в настройки веб-сервера Nginx:
1) В первую очередь – создать сниппет, показывающий папку, в которой хранятся SSL и ключ. Новый сниппет для Nginx создаем в папке /etc/nginx/snippets. Мы советуем вам отразить его назначение в названии. Наберите в консоли:
sudo nano /etc/nginx/snippets/self-signed.conf
В файл добавим правило ssl_sertificate, указывающее путь к нашему сертификату. Кроме того, нам потребуется директива ssl_sertificate_key для пути к ключу:
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
2) Теперь потребуется добавить настройки сертификата с помощью еще одного сниппета. Это позволит нам получить надежный механизм шифрования с помощью дополнительных возможностей безопасности. Заданные параметры получится применять в будущих конфигурациях веб-сервера Nginx. Дайте файлу какое-нибудь общее имя:
sudo nano /etc/nginx/snippets/ssl-params.conf
Настроим DNS-распознаватель для запросов с восходящего канала, а также добавим ssl_dhparam для поддержки ключей Диффи-Хеллмана. Получится вот так:
# from https://cipherli.st/
# and https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
Учтите, что из-за самоподписанности сертификата, не будет использоваться SSL stapling. При этом сервер Nginx покажет предупреждение, выключит stapling для этого SSL и продолжит работать. Теперь сохраним изменения и закроем файл.
3) И последнее: настроить блоки server, чтобы они могли обслуживать запросы SSL и поддерживать новые настройки. В нашей статье рассматривается случай применения виртуального хоста default (блок server). Он хранится в папке /etc/nginx/sites-available. Если захотите пользоваться другим файлом, нужно указать его имя. Создадим резервную копию файла блока server с помощью:
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
Теперь этот блок откроем в редакторе:
sudo nano /etc/nginx/sites-available/default
Он будет выглядеть где-то так:
server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
. . .
Перенаправим незашифрованные HTTP-запросы на HTTPS. Если же вам требуется поддержка двух протоколов, то мы такой случай рассмотрим позже. Делим настройки на два отдельных блока. Правило server_name будет идти после двух директив listen. В нем требуется указать IP-адрес либо доменное имя. Ну, а на второй блок server настроим переадресацию. Имейте ввиду, что для настройки мы будем использовать временный редирект 302. Когда настройки будут правильные, можете смело задавать постоянный редирект 301. В файл добавим:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name server_domain_or_IP;
return 302 https://$server_name$request_uri;
}
# SSL configuration
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
. . .
После этих строк нам предстоит добавить новый блок server для оставшихся настроек. Правило listen, использующее порт 443, нужно раскомментировать. Потом напишем правило http2 поддерживающее HTTP/2. Созданные ранее сниппеты нужно теперь просто выключить в файл. Помните, что в файле может существовать только одно правило listen, для комбинаций портов и IP-адресов, включающая модификатор default_server. Его нужно оставить только в одном блоке и удалить из остальных.
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name server_domain_or_IP;
return 302 https://$server_name$request_uri;
}
server {
# SSL configuration
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
include snippets/self-signed.conf;
include snippets/ssl-params.conf;
. . .
Изменения нужно сохранить, а файл – закрыть. Если нужно настроить одновременную поддержку HTTP и HTTPS, то объедините два блока server в один. Редирект же нужно удалить.
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name server_domain_or_IP;
include snippets/self-signed.conf;
include snippets/ssl-params.conf;
. . .
Эти изменения нужно сохранить. После этого закрывайте файл.
3. Как настроить брандмауэр?
Мы будем настраивать брандмауэр ufw для поддержки SSL-трафика. При инсталляции Nginx проводит регистрацию нескольких профилей в ufw. Вы можете просмотреть доступные с помощью команд:
sudo ufw app list
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Нам также нужно будет увидеть текущие настройки брандмауэра. Наберите в консоли:
sudo ufw status
Они будут выглядеть вот так, если поддерживается только трафик с протокола HTTP:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
Нам же нужна поддержка и HTTPS. Для этого мы отключим профиль Nginx HTTP и настроим Nginx Full. Наберите в командной строке:
sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP'
Настройки брандмауэра изменятся и будут выглядеть вот так:
sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
4. Как обновить настройки Nginx
После корректировки настроек веб-сервера и брандмауэра нужно перезапустить Nginx, чтобы все изменения вступили в силу. Проверьте синтаксис на наличие ошибок с помощью:
sudo nginx -t
Если все правильно, на экране вы увидите:
nginx: [warn] "ssl_stapling" ignored, issuer certificate not found
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Предупреждение появляется в первой строке, поскольку мы используем самоподписанный сертификат. Не обращайте внимания, соединение все равно будет корректно шифроваться. В случае обнаружения ошибок их необходимо исправить. После этого потребуется перезапуск веб-сервера Nginx с помощью:
sudo systemctl restart nginx
5. Тестируем настройки
Нам нужно убедиться, что трафик между клиентом и сервером шифруется. Это можно сделать, открыв в браузере ссылку:
https://домен_или_IP_сервера
Не удивляйтесь, если браузер сообщит, что сертификат ненадежный, ведь мы его подписали самостоятельно:
Your connection is not private
Attackers might be trying to steal your information
(for example, passwords,messages, or credit cards). NET::ERR_CERT_AUTHORITY_INVALID
Браузер не может проверить подлинность хоста, поэтому и выдает такое сообщение. Но нам нужно лишь шифрование соединения, которое сертификат нормально обеспечивает. Можно просто пропустить данное сообщение безопасности, нажав кнопку «Advanced», а также кликнув по показанной ссылке. Это даст вам доступ к вашему сайту. Нам нужно будет также проверить, работает ли переадресация трафика с HTTP на HTTPS, если ранее настраивали два блока server:
http://server_domain_or_IP
6. Как сделать постоянный редирект?
Если работа всех настроек сервера правильная, можно вместо временного редиректа ставить постоянный. Для этого откроем файл блока server:
sudo nano /etc/nginx/sites-available/default
В нем нужно найти return 302 и заменить значение на 301. Получится следующее:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name server_domain_or_IP;
return 301 https://$server_name$request_uri;
}
. . .
Изменения в файле нужно сохранить и закрыть его. Не забудьте проверить синтаксис на предмет содержания ошибок. Для это потребуется команда:
sudo nginx -t
Если все правильно, Nginx можно перезапустить с помощью:
sudo systemctl restart nginx
После выполнения всех вышеописанных действий, сервер Nginx сможет выполнять шифрование данных между клиентом и сервером. Это поможет вам защититься от хакерских атак передаваемого трафика. Чтобы предупреждения не появлялись, мы настоятельно рекомендуем вам все же подписать SSL в сертификационном центре.
Опубликовано: Июнь 19, 2017
Please enable JavaScript to view the comments powered by Disqus.Как создать собственный центр сертификации SSL для локальной разработки HTTPS
Настройка HTTPS локально может быть непростой задачей. Даже если вам удастся отправить самозаверяющие сертификаты на рассмотрение, вы все равно столкнетесь с ошибками конфиденциальности браузера. В этой статье мы рассмотрим создание вашего собственного центра сертификации для ваших локальных серверов, чтобы вы могли без проблем запускать HTTPS-сайты локально.
Почему HTTPS локально?
Почему бы просто не использовать обычный HTTP локально? Потому что, если ваш рабочий сайт поддерживает только HTTPS, а вы разрабатываете локально по обычному протоколу HTTP, ваша среда разработки и производственная среда не так похожи, как могли бы быть.Например, моя среда разработки для этого сайта (Deliciousbrains.com) работает как сервер Ubuntu на виртуальной машине (ВМ) VMware на его Mac. Производственный сайт представляет собой сервер Ubuntu, работающий на Linode, с почти идентичной конфигурацией.
Вы определенно хотите, чтобы ваша среда разработки максимально соответствовала производственной среде.
Если этого не происходит, вы приглашаете больше проблем, обнаруживаемых в производственной среде, которых не было в разработке. Запуск HTTP, когда ваш рабочий сайт поддерживает только HTTPS, определенно является ненужным риском.
Однако попытка заставить сертификат SSL работать с вашим локальным сервером — отстой, если вы не используете инструмент, который справляется с этим за вас, например Valet.
Если вы когда-либо пытались запустить сайт HTTPS локально, вы, вероятно, видели в Chrome что-то вроде следующего:
Обходным путем было создание самозаверяющего сертификата и его использование. MAMP Pro делает это за вас и был моим помощником в течение многих лет. К сожалению, это больше невозможно.Современный подход — стать вашим собственным центром сертификации (CA)!
Как это работает
Чтобы запросить сертификат SSL у такого центра сертификации, как Verisign или GoDaddy, вы отправляете им запрос на подпись сертификата (CSR), и они дают вам взамен сертификат, который они подписали с использованием своего корневого сертификата и закрытого ключа. Все браузеры имеют копию (или доступ к копии из операционной системы) корневого сертификата Verisign, поэтому браузер может проверить, был ли ваш сертификат подписан доверенным центром сертификации.
Вот почему, когда вы генерируете самозаверяющий сертификат, браузер ему не доверяет. Он самоподписанный. Он не был подписан центром сертификации. Но мы можем сгенерировать собственный корневой сертификат и закрытый ключ. Затем мы добавляем корневой сертификат ко всем устройствам, которыми мы владеем, только один раз, и тогда все сертификаты, которые мы генерируем и подписываем, будут по своей сути доверенными.
Стать (крошечным) центром сертификации
Просто смешно, как легко создавать файлы, необходимые для того, чтобы стать центром сертификации.Требуется всего две команды. Сначала мы генерируем наш закрытый ключ:
openssl genrsa -des3 -out myCA.key 2048
Вам будет предложено ввести кодовую фразу, которую я рекомендую не пропускать и хранить в безопасности. Парольная фраза не позволит любому, кто получит ваш закрытый ключ, создать собственный корневой сертификат. Результат должен выглядеть так:
Создание закрытого ключа RSA, модуль длиной 2048 бит
.................................................. ............... +++
..................................... +++
е - 65537 (0x10001)
Введите парольную фразу для myCA.key:
Проверка - введите парольную фразу для myCA.key:
Затем мы генерируем корневой сертификат:
openssl req -x509 -new -nodes -key myCA.key -sha256 -days 1825 -out myCA.pem
Вам будет предложено ввести кодовую фразу вашего закрытого ключа (который вы только что выбрали) и ряд вопросов. Ответы на эти вопросы не так уж и важны. Они появляются при просмотре сертификата, чего вы почти никогда не сделаете.Я предлагаю сделать общее имя чем-нибудь, что вы будете распознавать как свой корневой сертификат в списке других сертификатов. Это действительно единственное, что имеет значение.
Введите парольную фразу для myCA.key:
Вас вот-вот попросят ввести информацию, которая будет включена
в ваш запрос на сертификат.
То, что вы собираетесь ввести, называется отличительным именем или DN.
Поля довольно много, но можно оставить пустыми.
Для некоторых полей будет значение по умолчанию,
Если вы введете '.', поле останется пустым.
-----
Название страны (двухбуквенный код) [AU]: CA
Название штата или провинции (полное название) [Some-State]: Nova Scotia
Название населенного пункта (например, город) []: Truro
Название организации (например, компания) [Internet Widgits Pty Ltd]: Delicious Brains Inc.
Название организационной единицы (например, раздел) []:
Общее имя (например, полное доменное имя сервера или ВАШЕ имя) []: Delicious Brains
Адрес электронной почты []: [email protected]
Теперь у вас должно быть два файла: myCA.key (ваш закрытый ключ) и myCA.pem (ваш корневой сертификат).
🎉 Поздравляю, теперь вы CA. Вроде, как бы, что-то вроде.
Чтобы стать настоящим центром сертификации, вам необходимо получить корневой сертификат на всех устройствах в мире. Начнем с тех, которые у вас есть.
Установка корневого сертификата
Нам нужно добавить корневой сертификат ко всем ноутбукам, настольным компьютерам, планшетам и телефонам, которые будут получать доступ к вашим HTTPS-сайтам. Это может быть немного неприятно, но хорошая новость заключается в том, что нам нужно сделать это только один раз. Как только наш корневой сертификат будет на каждом устройстве, он будет действителен до истечения срока его действия.
Добавление корневого сертификата в связку ключей macOS
Через интерфейс командной строки
sudo security add-trust-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" myCA.pem
Через пользовательский интерфейс
- Откройте приложение Связка ключей macOS
- Перейдите в Файл> Импортировать элементы…
- Выберите файл секретного ключа (например, myCA.pem)
- Найдите все, что вы ответили, как общее имя имя выше
- Дважды щелкните корневой сертификат в списке
- Разверните раздел Trust
- Измените При использовании этого сертификата: установите флажок «Всегда доверять»
- Закройте окно сертификата
- Он попросит вас ввести пароль (или отсканировать палец), сделайте это
- 🎉 Празднуйте!
Добавление корневого сертификата в iOS
Если вы хотите добавить корневой сертификат на свои устройства iOS, вы можете сделать это довольно легко, выполнив следующие действия:
- Отправьте корневой сертификат себе по электронной почте, чтобы вы могли получить к нему доступ на своем устройстве iOS.
- Щелкните вложение в электронном письме на своем устройстве iOS
- Перейдите в приложение настроек и нажмите «Профиль загружен» в верхней части
- Нажмите установить в правом верхнем углу
- После установки нажмите «Закрыть» и вернитесь на главную страницу настроек.
- Перейдите в «Общие»> «О программе».
- Прокрутите вниз и нажмите «Настройки доверия к сертификату».
- Включите корневой сертификат в разделе «ВКЛЮЧИТЬ ПОЛНОЕ ДОВЕРИЕ ДЛЯ КОРНЕВЫХ СЕРТИФИКАТОВ».
Создание сертификатов, подписанных ЦС для ваших сайтов разработки
Теперь, когда мы являемся центром сертификации на всех наших устройствах, мы можем подписывать сертификаты для любых новых сайтов разработчиков, которым требуется HTTPS.Сначала мы создаем закрытый ключ:
openssl genrsa -out dev.deliciousbrains.com.key 2048
Затем мы создаем CSR:
openssl req -new -key dev.deliciousbrains.com.key -out dev.deliciousbrains.com.csr
Вы получите те же вопросы, что и выше, и, опять же, ваши ответы не имеют значения. На самом деле они имеют еще меньшее значение, потому что вы не увидите этот сертификат в списке рядом с другими.
Вас попросят ввести информацию, которая будет включена
в ваш запрос на сертификат.То, что вы собираетесь ввести, называется отличительным именем или DN.
Поля довольно много, но можно оставить пустыми.
Для некоторых полей будет значение по умолчанию,
Если вы введете ".", Поле останется пустым.
-----
Название страны (двухбуквенный код) [AU]: CA
Название штата или провинции (полное название) [Some-State]: Nova Scotia
Название населенного пункта (например, город) []: Truro
Название организации (например, компания) [Internet Widgits Pty Ltd]: Delicious Brains Inc.
Название организационной единицы (например, раздел) []:
Общее имя (e.грамм. полное доменное имя сервера или ВАШЕ имя) []: Mergebot
Адрес электронной почты []: [email protected]
Пожалуйста, введите следующие "дополнительные" атрибуты
для отправки с запросом на сертификат
Пароль вызова []:
Необязательное название компании []:
Затем мы создадим сертификат, используя наш CSR, закрытый ключ CA, сертификат CA и файл конфигурации, но сначала нам нужно создать этот файл конфигурации.
Файл конфигурации необходим для определения расширения альтернативного имени субъекта (SAN), которое определено в этом разделе (т.е.е. продление) сертификата:
Файл конфигурации (dev.deliciousbrains.com.ext) содержал следующее:
AuthorityKeyIdentifier = идентификатор ключа, эмитент
basicConstraints = CA: FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = dev.deliciousbrains.com
Мы будем запускать команду openssl x509
, потому что, насколько я понимаю, команда x509 необходима для подписания с помощью корневого сертификата и закрытого ключа.Я нашел этот пример конфигурационного файла в Stack Overflow, и, похоже, он работает.
Теперь запускаем команду для создания сертификата:
openssl x509 -req -in dev.deliciousbrains.com.csr -CA myCA.pem -CAkey myCA.key -CAcreateserial \
-out dev.deliciousbrains.com.crt -days 825 -sha256 -extfile dev.deliciousbrains.com.ext
Теперь у меня есть три файла: dev.deliciousbrains.com.key (закрытый ключ), dev.deliciousbrains.com.csr (запрос на подпись сертификата) и dev.Deliciousbrains.com.crt (подписанный сертификат).
Теперь я могу настроить свой веб-сервер с закрытым ключом и сертификатом. Если вы используете сервер Linux, вы можете использовать инструкции из нашей серии Установка WordPress на Ubuntu 20.04. Если вы используете MAMP, вы можете выбрать файлы сертификата и ключей с помощью пользовательского интерфейса:
К сожалению, MAMP (протестированный с версией 5.7) не создает сертификаты SSL с ЦС, поэтому вам придется использовать ручной метод на данный момент.
Для любых других сайтов разработчиков мы можем просто повторить эту последнюю часть создания сертификата, нам не нужно создавать новый центр сертификации для каждого сайта.
Скрипт оболочки
Чтобы сделать работу еще быстрее, вот удобный сценарий оболочки, который вы можете изменить для своих целей:
#! / Bin / sh
если ["$ #" -ne 1]
тогда
echo "Использование: необходимо указать домен"
выход 1
фи
ДОМЕН = 1 доллар США
cd ~ / certs
openssl genrsa -out $ DOMAIN.key 2048
openssl req -new -key $ DOMAIN.key -out $ DOMAIN.csr
cat> $ DOMAIN.ext << EOF
AuthorityKeyIdentifier = keyid, эмитент
basicConstraints = CA: FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = $ ДОМЕН
EOF
openssl x509 -req -in $ DOMAIN.csr -CA ../myCA.pem -CAkey ../myCA.key -CAcreateserial \
-out $ DOMAIN.crt -days 825 -sha256 -extfile $ DOMAIN.ext
Заключение
Итак, вот и все, как стать вашим собственным локальным центром сертификации, чтобы подписывать ваши локальные сертификаты SSL и использовать HTTPS на ваших локальных сайтах. Надеюсь, это избавит вас от ужасного сообщения «Ваше соединение не является личным» в Chrome.
Вы пробовали создать собственный центр сертификации? Вы работаете локально с HTTPS? Позвольте мне знать в комментариях ниже.
Создание самоподписанного сертификата SSL
Последнее обновление 3 февраля 2021 г.
При использовании SSL для непроизводственных приложений или других экспериментов вы можете использовать самозаверяющий сертификат SSL. Хотя сертификат реализует полное шифрование, посетители вашего сайта увидят предупреждение браузера, указывающее, что этому сертификату нельзя доверять.
Предварительные требования
Библиотека openssl требуется для создания вашего собственного сертификата.Выполните следующую команду в своей локальной среде, чтобы убедиться, что у вас уже установлен openssl.
$ который openssl
/ usr / bin / openssl
Если команда which
не возвращает путь, вам нужно будет установить openssl самостоятельно:
Создать закрытый ключ и запрос на подпись сертификата
Для создания сертификата SSL требуются закрытый ключ и запрос на подпись сертификата. Их можно сгенерировать с помощью нескольких простых команд.
Когда команда openssl req
запрашивает «пароль вызова», просто нажмите return, оставив пароль пустым. Этот пароль используется центрами сертификации для аутентификации владельца сертификата, когда они хотят отозвать свой сертификат. Поскольку это самозаверяющий сертификат, отозвать его через CRL (список отзыва сертификатов) невозможно.
$ openssl genrsa -aes256 -passout pass: gsahdg -out server.pass.key 4096
...
$ openssl rsa -passin pass: gsahdg -in server.pass.key -out server.key
запись ключа RSA
$ rm server.pass.key
$ openssl req -new -key server.key -out server.csr
...
Название страны (двухбуквенный код) [AU]: США
Название штата или провинции (полное название) [Some-State]: Калифорния
...
Пароль вызова []:
...
Создать сертификат SSL
Самоподписанный сертификат SSL создается из закрытого ключа server.key
и файлов server.csr
.
$ openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt
Файл server.crt
- это сертификат вашего сайта, подходящий для использования с надстройкой Heroku SSL вместе с закрытым ключом server.key
.
Как создать запрос на подпись сертификата (CSR) для Microsoft IIS 8
Следующие инструкции проведут вас через процесс создания CSR в Microsoft IIS 8. Чтобы узнать больше о CSR и важности вашего закрытого ключа, обратитесь к нашей статье Обзор запроса на подпись сертификата.Если вы уже сгенерировали CSR и получили доверенный сертификат SSL, ознакомьтесь с нашими Инструкциями по установке SSL и не обращайте внимания на приведенные ниже шаги.
1. Откройте диспетчер информационных служб Интернета (IIS)
Нажмите Пуск, Панель управления, Система и безопасность, Администрирование, и затем выберите Диспетчер информационных служб Интернета (IIS).
2. Выберите сервер, на котором вы хотите сгенерировать сертификат
В левом меню Connections выберите имя сервера (хост), на котором вы хотите сгенерировать запрос.
3. Перейдите к Сертификатам сервера
В центральном меню щелкните значок Server Certificates в разделе Security внизу.
4. Выберите Создать новый сертификат
В правом меню Действия щелкните Создать запрос сертификата.
5. Введите данные CSR
В окне Distinguished Name Properties введите необходимые данные CSR и затем нажмите Next.
Примечание: Чтобы избежать типичных ошибок при заполнении данных CSR, ознакомьтесь с нашей статьей Обзор запроса на подпись сертификата .
6. Выберите поставщика криптографических услуг и длину в битах
В окне Свойства поставщика криптографических служб выберите Microsoft RSA SChannel Cryptographic Provider и Bit Length of 2048 , затем нажмите Next.
Примечание: Длина в битах: 2048 - текущий отраслевой стандарт. Вы можете выбрать больший размер ключа, но только в том случае, если у вас есть такое требование, поскольку большая длина ключа увеличивает задержку и может снизить совместимость.
7. Сохраните CSR
Нажмите Обзор , чтобы указать место, где вы хотите сохранить CSR как файл «.txt», и нажмите Готово.
8. Создайте заказ
Найдите и откройте вновь созданный CSR из указанного вами места в текстовом редакторе, таком как Блокнот, и скопируйте весь текст, включая:
----- НАЧАТЬ ЗАПРОС СЕРТИФИКАТА ----- А также ----- КОНЕЦ ЗАПРОСА СЕРТИФИКАТА -----
Вернитесь к форме Generation Form на нашем веб-сайте, вставьте весь CSR в пустое текстовое поле и продолжите процесс создания.
После создания CSR ваш заказ войдет в процесс проверки с выдающим сертификатом (CA) и потребует от лица, запрашивающего сертификат, выполнить некоторую форму проверки в зависимости от приобретенного сертификата. Для получения информации о различных уровнях процесса проверки и о том, как удовлетворить отраслевые требования, обратитесь к нашим статьям о проверке.
После того, как вы завершите процесс проверки и получите доверенный сертификат SSL от выдающего центра сертификации (ЦС), перейдите к следующему шагу, используя наши инструкции по установке SSL для Microsoft IIS 8.
Как создать самоподписанный сертификат
Обзор
Ниже приводится чрезвычайно упрощенное представление о том, как SSL реализованы и какую роль сертификат играет во всем процессе.
Обычный веб-трафик передается через Интернет в незашифрованном виде. Это, любой, у кого есть доступ к нужным инструментам, может отслеживать весь этот трафик. Очевидно, это может приводят к проблемам, особенно там, где необходима безопасность и конфиденциальность, например, при кредитовании данные карты и банковские операции.Уровень защищенных сокетов используется для шифрования данных. поток между веб-сервером и веб-клиентом (браузером).
SSL использует так называемую асимметричную криптографию , обычно называется шифрованием с открытым ключом (PKI) . С открытым ключом криптография, создаются два ключа, один публичный, один приватный. Все, что зашифровано с помощью любой ключ можно расшифровать только с помощью соответствующего ключа. Таким образом, если сообщение или данные поток были зашифрованы закрытым ключом сервера, его можно расшифровать только с его помощью соответствующий открытый ключ, гарантирующий, что данные могли поступать только из сервер.
Если SSL использует криптографию с открытым ключом для шифрования потока данных Путешествуя по Интернету, зачем нужен сертификат? Технический ответ на это вопрос в том, что сертификат на самом деле не нужен - данные защищены и не могут быть легко расшифрованы третьей стороной. Однако сертификаты действительно играют решающую роль в процессе общения. Сертификат, подписанный доверенным Центр сертификации (CA), гарантирует, что владелец сертификата действительно тот, на кого он претендует. быть.Без доверенного подписанного сертификата ваши данные могут быть зашифрованы, однако сторона, с которой вы общаетесь, может не быть тем, кого вы думаете. Без сертификатов, атаки подражания были бы гораздо более распространенными.
Шаг 1. Создайте приват Ключ
Набор инструментов openssl используется для создания Закрытый ключ RSA и CSR (запрос на подпись сертификата) . Его также можно использовать для создания самозаверяющих сертификатов, которые можно использовать в целях тестирования или внутренних Применение.
Первый шаг - создать закрытый ключ RSA. Этот ключ представляет собой 1024-битный ключ RSA, который зашифрован с использованием Triple-DES и хранится в PEM. формат, чтобы его можно было читать как текст ASCII.
openssl genrsa -des3 -out server.key 1024
Создание закрытого ключа RSA, модуль длиной 1024 бита
......................... ................................ ++++++
........ +++ +++
e is 65537 (0x10001)
Введите парольную фразу PEM:
Проверка пароля - Введите парольную фразу PEM:
Шаг 2. Создайте CSR (запрос на подпись сертификата)
После того, как закрытый ключ сгенерирован, можно отправить запрос на подпись сертификата. сгенерировано.Затем CSR используется одним из двух способов. В идеале CSR будет отправлен Центр сертификации, такой как Thawte или Verisign, который будет проверять личность запрашивающий и выдать подписанный сертификат. Второй вариант - самостоятельно подписать CSR, который будет продемонстрирован в следующем разделе .
Во время генерации CSR вам будет предложено ввести несколько кусочки информации. Это атрибуты сертификата X.509.Один из запросы будут для «Общее имя (например, ВАШЕ имя)». Важно, чтобы это поле было заполняется полным доменным именем сервера, который будет защищен SSL. Если защищаемый веб-сайт будет https://public.akadia.com, затем введите public.akadia.com в этом запросе. Команда для создания CSR выглядит следующим образом:
openssl req -new -key server.key -out server.csr
Название страны (двухбуквенный код) [ГБ]: CH
Название штата или провинции (полное название) [Berkshire]: Bern
Название населенного пункта (например, город) [Newbury]: Oberdiessbach
Название организации (например, компания) [My Company Ltd]: Akadia AG
Название организационной единицы (например, раздел) []: Информация Технология
Общее имя (например, ваше имя или имя хоста вашего сервера) []: общедоступных.akadia.com
Адрес электронной почты []: martin dot zahn at akadia dot ch
Введите следующие «дополнительные» атрибуты
, которые будут отправлены вместе с запросом сертификата
Пароль вызова []:
Необязательное название компании [] :
Шаг 3. Удалите парольную фразу из ключа
Одним из нежелательных побочных эффектов закрытого ключа с парольной фразой является , который Apache будет запрашивать пароль каждый раз при запуске веб-сервера .Очевидно это не обязательно удобно, так как кто-то не всегда будет рядом, чтобы ввести фраза-пароль, например, после перезагрузки или сбоя. mod_ssl включает возможность использовать внешняя программа вместо встроенного диалогового окна парольной фразы, однако это не обязательно самый безопасный вариант. Можно удалить Triple-DES шифрование с помощью ключа , благодаря чему больше не нужно вводить парольную фразу. Если закрытый ключ больше не зашифрован, важно, чтобы этот файл мог читать только пользователь root! Если ваша система когда-либо будет взломана, и третья сторона получит ваш незашифрованный закрытый ключ, соответствующий сертификат необходимо будет отозвать.С учетом сказанного, используйте следующую команду, чтобы удалить парольную фразу из ключа:
cp server.key server.key.org
openssl rsa -in server.key.org -out server.keyВо вновь созданном файле server.key больше нет парольной фразы.
-rw-r - r-- 1 root root 745 29 июня, 12:19 server.csr
-rw-r - r-- 1 корень root 891 29 июня 13:22 server.key
-rw-r - r-- 1 корень root 963 29 июня 13:22 server.key.org
Шаг 4. Создание самозаверяющего сертификата
На этом этапе вам нужно будет сгенерировать самозаверяющий сертификат, потому что вы либо не планируйте, чтобы ваш сертификат был подписан центром сертификации, или вы хотите протестировать свой новый SSL реализация, пока ЦС подписывает ваш сертификат. Этот временный сертификат будет сгенерировать ошибку в браузере клиента о том, что сертификат подписи авторитет неизвестен и не заслуживает доверия.
Чтобы создать временный сертификат, действительный в течение 365 дней, выполните следующие команда:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Подпись ok
subject = / C = CH / ST = Bern / L = Oberdiessbach / O = Akadia AG / OU = Information
Technology / CN = public.akadia.com / Email = martin dot zahn at akadia dot ch
Получение закрытого ключа
Шаг 5: Установка закрытого ключа и сертификата
Когда установлен Apache с mod_ssl, он создает несколько каталогов в Apache config каталог.Расположение этого каталога будет отличаться в зависимости от того, как был Apache. составлен.
cp server.crt /usr/local/apache/conf/ssl.crt
cp server.key /usr/local/apache/conf/ssl.key
Шаг 6. Настройка виртуальных хостов с поддержкой SSL
SSLEngine на
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.ключ
SetEnvIf User-Agent ". * MSIE. *" nokeepalive ssl-unclean-shutdown
CustomLog logs / ssl_request_log \
"% t% h% {SSL_PROTOCOL} x% {SSL_CIPHER} x \"% r \ "% b"
Шаг 7: перезапустите Apache и протестируйте
/etc/init.d/httpd stop
/etc/init.d/httpd stophttps://public.akadia.com
Создание CSR и установка сертификата SSL
Создание CSR и установка сертификата SSL на сервере Windows 2016
Используйте инструкции на этой странице, чтобы использовать IIS 10 для создания запроса на подпись сертификата (CSR), а затем для установки сертификата SSL на сервере Windows 2016.
Чтобы создать запрос на подпись сертификата (CSR), см. IIS 10: Как создать CSR на Windows Server 2016.
Чтобы установить сертификат SSL, см. IIS 10: Как установить и настроить сертификат SSL в Windows Server 2016.
Если вы ищете более простой способ создания CSR, а также установки сертификатов SSL и управления ими, мы рекомендуем использовать утилиту DigiCert® Certificate Utility для Windows.Вы можете использовать утилиту DigiCert для создания CSR и установки сертификата SSL. См. Раздел Windows Server 2016: создание CSR и установка сертификата SSL с помощью утилиты DigiCert.
1. IIS 10: как создать CSR на Windows Server 2016
Использование IIS 10 для создания CSR
В меню «Пуск» Windows введите Internet Information Services (IIS) Manager и откройте его.
В диспетчере Internet Information Services (IIS) в дереве меню Connections (левая панель) найдите и щелкните имя сервера.
На домашней странице имени сервера (центральная панель) в разделе IIS дважды щелкните Сертификаты сервера .
На странице сертификатов сервера (центральная панель) в меню Действия (правая панель) щелкните ссылку Создать запрос сертификата… .
В мастере запроса сертификата на странице Свойства различающегося имени укажите информацию, указанную ниже, и нажмите Далее :
Общее название: Введите полное доменное имя (FQDN) (e.г., www.example.com ). Организация: Введите юридически зарегистрированное название вашей компании (например, YourCompany, Inc. ). Организационная единица: Название вашего отдела в организации.Часто эта запись будет отображаться как «ИТ», «Веб-безопасность», .или просто оставлено пустым. Город: Введите город, в котором находится ваша компания. Штат / провинция: Введите штат / провинцию, в которой находится ваша компания. Страна: В раскрывающемся списке выберите страну, в которой находится ваша компания. На странице свойств поставщика криптографических служб укажите информацию ниже и нажмите Далее .
Криптографические В раскрывающемся списке выберите Microsoft RSA SChannel Cryptographic Provider , поставщик услуг: , если у вас нет конкретного поставщика криптографических услуг. Длина долота: В раскрывающемся списке выберите 2048 , если у вас нет особой причины за выбор большей длины в битах. На странице Имя файла в разделе Укажите имя файла для запроса сертификата , щелкните поле … , чтобы перейти в место, где вы хотите сохранить CSR.
Примечание: Запомните имя файла, которое вы выбрали, и место, в которое вы сохраните свой csr.txt файл. Если вы просто введете имя файла, не просматривая местоположение, ваш CSR окажется в C: \ Windows \ System32.
Когда вы закончите, нажмите Готово .
Используйте текстовый редактор (например, Блокнот), чтобы открыть файл.Затем скопируйте текст, включая теги ----- BEGIN NEW CERTIFICATE REQUEST ----- и ----- END NEW CERTIFICATE REQUEST ----- , и вставьте его в заказ DigiCert. форма.
После того, как вы получите сертификат SSL от DigiCert, вы можете его установить.
2.IIS 10: Как установить и настроить сертификат SSL на Windows Server 2016
Если вы еще не создали CSR и не заказали сертификат, см. IIS 10: How to Create Your CSR Windows Server 2016.
После того, как мы проверим и выдадим ваш сертификат SSL, вам необходимо установить его на сервере Windows 2016, на котором был сгенерирован CSR. Затем вам необходимо настроить сервер для его использования.
(единый сертификат) Как установить сертификат SSL и настроить сервер для его использования
Установить сертификат SSL
На сервере, на котором вы создали CSR, сохраните файл .cer сертификата SSL (например, your_domain_com.cer ), который DigiCert отправил вам.
В меню «Пуск» Windows введите Internet Information Services (IIS) Manager и откройте его.
В диспетчере Internet Information Services (IIS) в дереве меню Connections (левая панель) найдите и щелкните имя сервера.
На домашней странице имени сервера (центральная панель) в разделе IIS дважды щелкните Сертификаты сервера .
На странице сертификатов сервера (центральная панель) в меню Действия (правая панель) щелкните ссылку Полный запрос сертификата… .
В мастере Complete Certificate Request на странице Specify Certificate Authority Response выполните следующие действия и нажмите OK :
Имя файла, содержащего Щелкните поле … , найдите и выберите файл.cer файл ответ центра сертификации: (например, your_domain_com.cer ), который DigiCert отправил вам. Дружественное имя: Введите понятное имя для сертификата. Понятное имя не является частью сертификата; вместо этого он используется для идентификации сертификата. Мы рекомендуем вам добавить DigiCert и дату истечения срока действия в конце вашего понятного имени, например: yoursite-digicert- (срок действия). Эта информация помогает определить издателя и дату истечения срока действия каждого сертификата. Это также помогает различать несколько сертификатов с одним и тем же доменным именем. Выберите хранилище сертификатов В раскрывающемся списке выберите Веб-хостинг . для нового сертификата: Теперь, когда вы успешно установили свой сертификат SSL, вам нужно назначить сертификат соответствующему сайту.
В диспетчере Internet Information Services (IIS) в дереве меню Connections (левая панель) разверните имя сервера, на котором был установлен сертификат.Затем разверните Сайты и щелкните сайт, для защиты которого вы хотите использовать сертификат SSL.
На домашней странице веб-сайта в меню Действия (правая панель) в разделе Изменить сайт щелкните ссылку Bindings… .
В окне Привязки сайта щелкните Добавить .
В окне Добавить привязки сайта выполните следующие действия и нажмите ОК :
Тип: В раскрывающемся списке выберите https . IP-адрес: В раскрывающемся списке выберите IP-адрес сайта или выберите Все неназначенные . Порт: Тип порта 443 . Порт, через который трафик защищен с помощью SSL, - это порт 443. SSL-сертификат: В раскрывающемся списке выберите новый сертификат SSL (например,г., yourdomain.com ). Ваш SSL-сертификат установлен, и веб-сайт настроен на прием безопасных соединений.
Назначить сертификат SSL
(несколько сертификатов) Как установить сертификаты SSL и настроить сервер для их использования с помощью SNI
В этой инструкции объясняется, как установить несколько сертификатов SSL и назначить их с помощью SNI.Процесс разделен на две части:
Установить первый сертификат SSL
Выполните этот первый набор инструкций только один раз для первого сертификата SSL.
На сервере, на котором вы создали CSR, сохраните файл .cer сертификата SSL (например, your_domain_com.cer ), который DigiCert отправил вам.
В меню «Пуск» Windows введите Internet Information Services (IIS) Manager и откройте его.
В диспетчере Internet Information Services (IIS) в дереве меню Connections (левая панель) найдите и щелкните имя сервера.
На домашней странице имени сервера (центральная панель) в разделе IIS дважды щелкните Сертификаты сервера .
На странице сертификатов сервера (центральная панель) в меню Действия (правая панель) щелкните ссылку Полный запрос сертификата… .
В мастере Complete Certificate Request на странице Specify Certificate Authority Response выполните следующие действия и нажмите OK :
Имя файла, содержащего Щелкните поле … , найдите и выберите файл.cer файл ответ центра сертификации: (например, your_domain_com.cer ), который DigiCert отправил вам. Дружественное имя: Введите понятное имя для сертификата. Понятное имя не является частью сертификата; вместо этого он используется для идентификации сертификата. Мы рекомендуем вам добавить DigiCert и дату истечения срока действия в конце вашего понятного имени, например: yoursite-digicert- (срок действия). Эта информация помогает определить издателя и дату истечения срока действия каждого сертификата. Это также помогает различать несколько сертификатов с одним и тем же доменным именем. Выберите хранилище сертификатов В раскрывающемся списке выберите Веб-хостинг . для нового сертификата: Теперь, когда вы успешно установили свой сертификат SSL, вам нужно назначить сертификат соответствующему сайту.
В диспетчере Internet Information Services (IIS) в дереве меню Connections (левая панель) разверните имя сервера, на котором был установлен сертификат.Затем разверните Сайты и щелкните сайт, для защиты которого вы хотите использовать сертификат SSL.
На домашней странице веб-сайта в меню Действия (правая панель) в разделе Изменить сайт щелкните ссылку Bindings… .
В окне Привязки сайта щелкните Добавить .
В окне Добавить привязки сайта выполните следующие действия и нажмите ОК :
Тип: В раскрывающемся списке выберите https . IP-адрес: В раскрывающемся списке выберите IP-адрес сайта или выберите Все неназначенные . Порт: Тип порта 443 . Порт, через который трафик защищен с помощью SSL, - это порт 443. SSL-сертификат: В раскрывающемся списке выберите новый сертификат SSL (например,г., yourdomain.com ). Ваш первый сертификат SSL установлен, и веб-сайт настроен на прием безопасных соединений.
Установить дополнительные сертификаты SSL
Чтобы установить и назначить каждый дополнительный сертификат SSL, при необходимости повторите шаги, указанные ниже.
На сервере, на котором вы создали CSR, сохраните файл .cer сертификата SSL (например, your_domain_com.cer ), который DigiCert отправил вам.
В меню «Пуск» Windows введите Internet Information Services (IIS) Manager и откройте его.
В диспетчере Internet Information Services (IIS) в дереве меню Connections (левая панель) найдите и щелкните имя сервера.
На домашней странице имени сервера (центральная панель) в разделе IIS дважды щелкните Сертификаты сервера .
На странице сертификатов сервера (центральная панель) в меню Действия (правая панель) щелкните ссылку Полный запрос сертификата… .
В мастере Complete Certificate Request на странице Specify Certificate Authority Response выполните следующие действия и нажмите OK :
Имя файла, содержащего Щелкните поле … , найдите и выберите файл.cer файл ответ центра сертификации: (например, your_domain_com.cer ), который DigiCert отправил вам. Дружественное имя: Введите понятное имя для сертификата. Понятное имя не является частью сертификата; вместо этого он используется для идентификации сертификата. Мы рекомендуем вам добавить DigiCert и дату истечения срока действия в конце вашего понятного имени, например: yoursite-digicert- (срок действия). Эта информация помогает определить издателя и дату истечения срока действия каждого сертификата. Это также помогает различать несколько сертификатов с одним и тем же доменным именем. Выберите хранилище сертификатов В раскрывающемся списке выберите Веб-хостинг . для нового сертификата: Теперь, когда вы успешно установили свой сертификат SSL, вам нужно назначить сертификат соответствующему сайту.
В диспетчере Internet Information Services (IIS) в дереве меню Connections (левая панель) разверните имя сервера, на котором был установлен сертификат.Затем разверните Сайты и щелкните сайт, для защиты которого вы хотите использовать сертификат SSL.
На домашней странице веб-сайта в меню Действия (правая панель) в разделе Изменить сайт щелкните ссылку Bindings… .
В окне Привязки сайта щелкните Добавить .
В окне Добавить привязки сайта выполните следующие действия и нажмите ОК :
Тип: В раскрывающемся списке выберите https . IP-адрес: В раскрывающемся списке выберите IP-адрес сайта или выберите Все неназначенные . Порт: Тип порта 443 . Порт, через который трафик защищен с помощью SSL, - это порт 443. Имя хоста: Введите имя хоста, который вы хотите защитить. Требуется сервер После ввода имени хоста установите этот флажок. Обозначение имени: Это требуется для всех дополнительных сертификатов / сайтов после установки первого сертификата и защиты основного сайта. SSL-сертификат: В раскрывающемся списке выберите дополнительный сертификат SSL (например, yourdomain2.com ). Вы успешно установили еще один сертификат SSL и настроили веб-сайт для приема безопасных соединений.
Как добавить бесплатный самоподписанный сертификат SSL? - База знаний DreamHost
Обзор
Самозаверяющий сертификат - это сертификат SSL, который не был проверен центром сертификации (ЦС). Это означает, что он подписан самим собой.
Уровень шифрования может быть таким же, как и у любого другого сертификата, но поскольку он не подтвержден центром сертификации, браузер будет отображать предупреждение при посещении сайта.
По этой причине эти типы сертификатов рекомендуются только для внутреннего использования на вашем веб-сайте, где ни один посетитель никогда не увидит или не вступит в контакт.
Предупреждения браузера для самозаверяющих сертификатов
Поскольку доверенный центр не подписал его, браузеры не могут ему доверять. Он по-прежнему будет работать нормально, но посетители вашего сайта увидят предупреждение. Ниже приведены примеры того, что посетитель увидит в Firefox и Chrome.
Если вы хотите привлечь посетителей на свой сайт, НЕ используйте самозаверяющий сертификат.
Firefox
Хром
Создание самозаверяющего сертификата
На панели DreamHost нет возможности добавить самозаверяющий сертификат. У вас есть два варианта создания сертификата этого типа.
- Создать через командную строку SSH
- Сторонний веб-сайт
Создание самозаверяющего сертификата через SSH
Вы можете запускать эти команды на компьютере Linux или Mac, однако в этих инструкциях показано, как войти на веб-сервер DreamHost для выполнения команд.
- Войдите на свой веб-сервер DreamHost через SSH.
- Подключитесь к своему домену через SSH. Прочтите статью о SSH для получения инструкций.
- После входа на сервер через SSH убедитесь, что вы находитесь в домашнем каталоге своего пользователя:
- Запустите openssl, чтобы создать свой закрытый ключ, который вы будете использовать для создания CSR. Введите следующее, чтобы открыть инструмент командной строки OpenSSL.
- Теперь ваша командная строка изменится на OpenSSL>, что означает, что вы готовы выполнить следующие команды.
- Создайте новый закрытый ключ RSA, введя следующую команду без пароля:
OpenSSL> genrsa -out Private.key 2048 Генерация закрытого ключа RSA, модуль длиной 2048 бит .................................................. ...... +++ .................................................. ...... +++ е - 65537 (0x10001)
- Используя этот новый закрытый ключ, создайте сертификат.
OpenSSL> req -new -x509 -key Private.key -out Сертификат.crt -дней 365 Вас вот-вот попросят ввести информацию, которая будет включена в ваш запрос на сертификат. То, что вы собираетесь ввести, называется отличительным именем или DN. Поля довольно много, но можно оставить пустыми. Для некоторых полей будет значение по умолчанию, Если вы введете ".", Поле останется пустым. ----- Название страны (двухбуквенный код) [Австралия]: Название штата или провинции (полное название) [Some-State]: Название населенного пункта (например, город) []: Название организации (например, компания) [Internet Widgits Pty Ltd]: Название организационной единицы (например, раздел) []: Общее имя (e.грамм. FQDN сервера или ВАШЕ имя) []: Электронный адрес []:
- На приведенном выше шаге у вас запрашивается информация о вашем сайте для создания CSR. Вы можете просто щелкнуть по этим параметрам, ничего не вводя, поскольку ваш браузер по умолчанию выдаст предупреждение для самозаверяющего сертификата.
- Выйти из OpenSSL
- Отметьте, чтобы подтвердить, что ваш закрытый ключ и сертификат были созданы.
[сервер] $ ls -1 Certificate.crt Private.key
Теперь, когда закрытый ключ и сертификат созданы, вы можете установить их на своей панели, используя следующую статью:
Используя SSH, вы можете открывать файлы для просмотра их содержимого, запустив cat:
[сервер] $ cat Сертификат.crt [сервер] $ cat Private.key
Создание самозаверяющего сертификата на онлайн-сайте
Существует несколько веб-сайтов, которые позволяют создавать в нем самозаверяющий сертификат, например:
Принудительная загрузка вашего сайта HTTPS по умолчанию
Даже после того, как вы добавили сертификат SSL на свой сайт, посетители не смогут его использовать, если они вручную не введут https перед вашим доменным именем. Это в первую очередь противоречит цели его добавления, поскольку сертификат предназначен для защиты всего трафика вашего веб-сайта.
Есть несколько способов исправить это. В следующей статье приведены инструкции по созданию файла конфигурации для перенаправления всего трафика посетителей на защищенную версию вашего URL-адреса (https).
См. Также
Защита вашего веб-сайта с помощью самозаверяющего сертификата SSL / TLS | Документация Plesk Obsidian
Если вы хотите защитить свой веб-сайт с помощью сертификата SSL / TLS, вы можете используйте бесплатный самоподписанный сертификат SSL / TLS. Вы также можете приобрести Сертификат SSL / TLS напрямую через Plesk, сгенерируйте Запрос на подпись сертификата (сокращенно CSR) для покупки сертификата у Центр сертификации или защитите свой веб-сайт с помощью сертификат, который у вас уже есть.
Примечание. Защита вашего веб-сайта с помощью самозаверяющего сертификата SSL / TLS защищает посетителей веб-сайта путем шифрования сообщений на сервер и с сервера, но не проверяет подлинность вашего сайта. Посетители вашего сайт будет предупрежден о недействительности сертификата в их браузер.
Чтобы защитить свой веб-сайт с помощью самозаверяющего сертификата, вам необходимо сначала сгенерируйте. Для этого перейдите в Веб-сайты и домены > ваш веб-сайт> Сертификаты SSL / TLS > «Дополнительные настройки»> и щелкните Добавить сертификат SSL / TLS .Заполните поля, отмеченные красной звездочкой (*), например сертификат. имя (вы будете использовать его для идентификации сертификата в списке всех сертификаты), ваша личная информация, имя домена сертификат будет защищать и так далее.
Примечание: Если вы хотите сгенерировать подстановочный сертификат SSL / TLS, ваш домен имя должно начинаться со звездочки (*). Например, сертификат, созданный для * .example.com , можно использовать для защиты любого поддомен например.com .
Когда вы закончите, щелкните Self-Signed . Это приведет к самоподписанный сертификат создается и помещается в ваше хранилище. Вы можете увидеть список всех сертификатов SSL / TLS в вашем репозитории, нажав переход на веб-сайты и домены > ваш веб-сайт> SSL / TLS-сертификаты > «Дополнительные настройки».
Теперь, когда сертификат был сгенерирован, вам нужно его установить. Идти на Сайты и домены > ваш сайт> Настройки хостинга .В меню Сертификат выберите только что полученный сертификат. сгенерировано, а затем нажмите ОК .
.