Download PDF
Download page Создание самоподписанного SSL-сертификата.
Создание самоподписанного SSL-сертификата
Создание самоподписанного SSL-сертификата
Для создания самоподписанного SSL-сертификата и ключа к нему нужно:
- открыть программу «Terminal Fly» и получить доступ к интерфейсу командной строки;
выполнить генерацию SSL-сертификата (
/etc/ssl/certs/nginx-selfsigned.crt
) и ключа к нему (/etc/ssl/private/nginx-selfsigned.key
):
:~$ sudo openssl req -new -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). X.509 – это стандарт инфраструктуры открытого ключа, которого придерживаются SSL и TLS при управлении ключами и сертификатами. Данная команда позволяет создать новый сертификат X.509;new
- эта опция указывает, что будет создаваться новый запрос;x509
- эта опция вносит поправку в предыдущую команду, сообщая утилите о том, что вместо запроса на подписание сертификата необходимо создать самоподписанный сертификат;nodes
- ключ для пропуска опции защиты сертификата парольной фразой. Нужно, чтобы при запуске балансировщик нагрузки (nginx) имел возможность читать файл без вмешательства пользователя. Установив пароль, придется вводить его после каждой перезагрузки;days 365
- эта опция устанавливает срок действия сертификата (в данном случае сертификат действителен в течение года);newkey rsa:2048
- эта опция позволяет одновременно создать новый сертификат и новый ключ. Поскольку ключ, необходимый для подписания сертификата, не был создан ранее, нужно создать его вместе с сертификатом. Данная опция создаст RSA-ключ размером 2048 бит;keyout
- эта опция сообщает OpenSSL, куда поместить сгенерированный файл ключа;out
- эта опция сообщает OpenSSL, куда поместить созданный сертификат.
После исполнения команды надо последовательно ввести ряд параметров, запросы на которые отобразятся в командной строке:
Country Name
(2 letter code) [AU];State or Province Name
(full name) [Some-State];Locality Name
(eg, city) [];Organization Name
(eg, company) [Internet Widgits Pty Ltd];Organizational Unit Name
(eg, section) [];Common Name
(e.g. server FQDN or YOUR name) [];Email Address
[].
Наиболее важным параметром является Common Name
(необходимо ввести FQDN-имя балансировщика). Как правило, в эту строку вносят доменное имя, с которым нужно связать сервер. В случае если доменного имени нет, нужно внести в эту строку IP-адрес сервера.
Файлы ключа и сертификата будут размещены в каталоге, указанном при вызове команды openssl
в параметрах keyout
и out
.
При использовании OpenSSL необходимо также создать ключи Диффи-Хеллмана, для этого:
- открыть программу «Terminal Fly» и получить доступ к интерфейсу командной строки;
сгенерировать ключи Диффи-Хеллмана длиной 4096 бит и сохранить их в файл
/etc/nginx/dhparam.pem
:
sudo openssl dhparam -out /etc/nginx/dhparam.pem 4096