Skip to main content

Создание самоподписанного сертификата

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

  1. Проверка или установка OpenSSL.

OpenSSL доступен по умолчанию во всех основных дистрибутивах Linux.

Для поиска установленного ПО OpenSSL и проверки версии необходимо выполнить команду:

$ openssl version

Если вывод с информацией о версии OpenSSL отсутствует — программа не установлена.

Для установки OpenSSL выполните следующую команду:

$ sudo dnf install openssl

или

$ sudo yum install openssl

Выбор команды зависит от типа ОС.

  1. Создание SSL-сертификата.

Для создания самоподписанного сертификата SSL необходимо использовать следующую команду:

$ openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout server.nopass.key -out server.crt

С помощью команды будет создан самоподписанный сертификат, который будет действителен в течение 365 дней.

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

Описание флагов использованных в команде приведено в таблице.

ФлагОписание
reqВыполнить запрос на подпись сертификата
-newkey rsa: 4096Создать ключ RSA длиной 4096 бит.
Если не указано иное, по умолчанию будет создан ключ длиной 2048 бит
-keyoutУказать имя файла для хранения закрытого ключа
-outУказать имя файла для хранения нового сертификата
-nodesПропустить шаг по созданию сертификата с парольной фразой
-x509Создать сертификат формата X.509
-daysУказать время действия сертификата в днях

Описание полей при создании сертификата приведено в таблице.

ПолеОписание
C =Название страны (двухбуквенный код)
ST =Название штата или провинции
L =Название населенного пункта
O =Полное название вашей организации
OU =Название организационной единицы
CN =Полное доменное имя
  1. Создание закрытого ключа.

Закрытый ключ необходим для подписи вашего SSL-сертификата. Для создания и сохрания закрытого ключа необходимо выполнить команду:

$ openssl genrsa -out server.nopass.key

Значения флагов команды:

  • genrsa — создать закрытый ключ RSA;
  • -out — выходной файл.

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

  1. Создание запроса на подпись сертификата (CSR).

CSR — информация, отправляемая в удостоверяющий центр. Для создания CSR необходимо выполнить следующую команду:

$ openssl req -new -key server.nopass.key -out server.csr

Описание флагов использованных в команде приведено в таблице.

ФлагОписание
reqЗапрос на подпись сертификата
-newНовый запрос
-keyПуть, где хранится ваш файл закрытого ключа
-outИмя выходного файла

После запуска команды, представленной ниже, будет создан самоподписаный сертификат, который будет действителен в течение 365 дней.

$ openssl x509 -req -days 365 -in server.csr -signkey server.nopass.key \
-out server.crt
  1. Проверка деталей сертификата выполняется с помощью команды:
$ openssl x509 -text -noout -in server.crt