Как создать свой собственный SSL сертификат

В этой статье разберем вопрос создания своего собственного SSL сертификата (self-signed SSL Certificate).  SSL сертификат используется для организации корректного защищенного https соединения.

В последнее HTTPS протокол получил широкое распространение. Единственная проблема: SSL сертификаты стоят денег. По-этому на первом этапе , для тестирования Вашего сайта , разумно создать свой собственный сертификат силами OpenSSL. Этот пакет часто присутствует в конфигурации сервера как модуль Apache. Так что, создав сертификат,  мы сразу сможем подключить его для использования на сайте. Но обо всем по порядку.

Открывает консоль управления сервера и переходим в каталог Апач (в нашем примере это путь: /etc/apache2 , но у Вас он может отличаться).

cd /etc/apache2

Здесь должна быть расположена папка с сертификатами и с ключами (ssl.crt и ssl.key соответственно). Если папок нет – попробуйте поискать их с помощью утилиты find или создайте с помощью mkdir.

Настало время запустить openssl:

openssl genrsa -out mainserver.key 2048

В процессе генерации ключа , openssl попросит Вас придумать секретное слово (Enter pass phrase for mainserver.key) и затем повторить (Verifying). PASS PHRASE запомните , а лучше – запишите.

Мы создали основной приватный RSA ключ для Вашего сервера работающего на Апач. Ключ длиной 2048 бит. Он может быть меньше или больше , но всегда должен быть кратен 1024 (1024б 2048 bkb 4096).

Когда ключ создан , настало время создать сам сертификат mainserver.crt:

openssl req -new -x509 -days 500 -key mainserver.key -out mainserver.crt

Данный сертификат зашифрован с использованием алгоритма SHA-1 и действителен в течении 500 дней. В процессе генерации сертификата Вам будут заданы следующий вопросы:

Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Moscow
Locality Name (eg, city) []:Moscow
Organization Name (eg, company) [Internet Widgits Pty Ltd]:WeblomasterLTD
Organizational Unit Name (eg, section) []:IT section
Common Name (eg, YOUR name) []:weblomaster.ru
Email Address []:ssl@weblomaster.ru

Первая строка – буквенное обозначение страны. Для России – RU, для Украины – UA, для Белоруссии – BY, для Германии – DE, для США – US и так далее.
Вторая строка – названия штата, провинции, края области. Следующая строка – город, затем – название организации. Пятая строка – отдел организации. Самой важной строкой для нас является строка номер шесть – здесь нужно указать домен Вашего сайта. Последнее строка – электронная почта. Все строки, кроме шестой, Вы можете заполнить как того захотите.

В результате работы с openssl нам удалось создать два файла mainserver.key и mainserver.crt.

MAINSERVER.CRT – Это главный, корневой сертификат. Для конкретного домена нам потребуется ещё два  таких же файла : файл ключей и файл запроса сертификата для конечного сайта. После того как создадим запрос сертификата для конечного домена , сможем подписать его корневым сертификатом и затем подключить защищенное соединение по протоколу https.

openssl genrsa -out weblomaster.ru.key 2048
openssl req -new -key weblomaster.ru.key -out weblomaster.ru.csr

Создавая сертификат weblomaster.ru.csr Вам снова потребуется придумать PASS PHRASE. Это фраза может быть иной или такой же как в случае с mainserver.crt. Кроме того, незабываем указать имя домена в поле Common Name (в нашем случае это weblomaster.ru).

Последний этап – подписание сертификата для конкретного домена сертификатом основным:

openssl x509 -req -in weblomaster.ru.csr -CA mainserver.crt -CAkey mainserver.key -CAcreateserial -out weblomaster.ru.crt -days 500

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

Теперь копируем weblomaster.ru.key в папку ssl.key , а weblomaster.ru.crt в папку ssl.crt соответственно:

cp weblomaster.ru.key ssl.key
cp weblomaster.ru.crt ssl.crt

 

Опубликовано 17.03.2015 в 16:11 · Автор Вебдизайнеру, сисадмину, вебмастеру · Ссылка
Рубрики: Debian, FreeBSD, HTML, Настройки хостинга, Системное администрирование · Теги: , , ,