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