По умолчанию браузеры не доверяют самоподписанным сертификатам, рекомендуется использовать его только для внутренних целей или в целях тестирования.
1. Проверка или установка OpenSSL.
OpenSSL доступен по умолчанию во всех основных дистрибутивах Linux.
Для поиска установленного ПО OpenSSL и проверки версии необходимо выполнить команду:
$ openssl version
Если вывод с информацией о версии OpenSSL отсутствует — программа не установлена.
Для установки OpenSSL выполните следующую команду:
$ sudo dnf install openssl
или
$ sudo yum install openssl
Выбор команды зависит от типа ОС.
2. Создание 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 = |
Полное доменное имя |
3. Создание закрытого ключа.
Закрытый ключ необходим для подписи вашего SSL-сертификата. Для создания и сохрания закрытого ключа необходимо выполнить команду:
$ openssl genrsa -out server.nopass.key
Значения флагов команды:
–genrsa — создать закрытый ключ RSA;
–-out — выходной файл.
По умолчанию закрытый ключ будет храниться в текущем каталоге (в каталоге, из которого выполняется команда).
4. Создание запроса на подпись сертификата (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
5. Проверка деталей сертификата выполняется с помощью команды:
$ openssl x509 -text -noout -in server.crt