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

Самоподписанный SSL-сертификат

В этой статье объясняется, как создать самоподписанный SSL-сертификат с помощью инструмента openssl .

Что такое самоподписанный SSL-сертификат

Самоподписанный SSL-сертификат — это сертификат, подписанный создателем, а не доверенным центром сертификации. Самоподписанные сертификаты могут иметь тот же уровень шифрования, что и SSL-сертификат, подписанный доверенным центром сертификации.

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

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

Предпосылки

Для создания самоподписанного сертификата необходим набор инструментов OpenSSL.

Чтобы проверить, установлен ли пакет openssl в вашей системе Linux, откройте терминал, введите openssl version и нажмите Enter. Если пакет установлен, система выведет версию OpenSSL. В противном случае вы увидите сообщение типа openssl command not found .

Если пакет openssl не установлен в вашей системе, вы можете установить его с помощью менеджера пакетов вашего дистрибутива:

  • Убунту и Дебиан

     sudo apt install openssl
  • Centos и Fedora

     sudo yum install openssl

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

Чтобы создать новый самоподписанный SSL-сертификат, используйте команду openssl req :

 openssl req -newkey rsa:4096  -x509  -sha256  -days 3650  -nodes  -out example.crt  -keyout example.key

Давайте разберем команду и разберемся, что означает каждая опция:

  • -newkey rsa:4096 — создаёт новый запрос на сертификат и ключ RSA длиной 4096 бит. Значение по умолчанию — 2048 бит.
  • -x509 — создает сертификат X.509.
  • -sha256 — использовать 265-битный SHA (алгоритм безопасного хэширования).
  • -days 3650 — количество дней, на которые заверяется сертификат. 3650 — это десять лет. Можно использовать любое положительное целое число.
  • -nodes — создает ключ без парольной фразы.
  • -out example.crt — Указывает имя файла для записи нового сертификата. Можно указать любое имя файла.
  • -keyout example.key — Указывает имя файла для записи нового закрытого ключа. Можно указать любое имя файла.

Дополнительную информацию о параметрах команды openssl req можно найти на странице документации OpenSSL req.

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

 Generating a RSA private key ......................................................................++++ ........++++ writing new private key to 'example.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. -----

Введите запрашиваемую информацию и нажмите Enter .

 Country Name (2 letter code) [AU]:US State or Province Name (full name) [Some-State]:Alabama Locality Name (eg, city) []:Montgomery Organization Name (eg, company) [Internet Widgits Pty Ltd]:Linuxize Organizational Unit Name (eg, section) []:Marketing Common Name (eg server FQDN or YOUR name) []:linuxgazette.ru Email Address []:hello@linuxgazette.ru

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

 ls
 example.crt example.key

Вот и всё! Вы создали новый самоподписанный SSL-сертификат.

Всегда полезно создать резервную копию нового сертификата и ключа на внешнем хранилище.

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

Если вы хотите создать самоподписанный SSL-сертификат без запроса каких-либо вопросов, используйте опцию -subj и укажите всю информацию о субъекте:

 openssl req -newkey rsa:4096  -x509  -sha256  -days 3650  -nodes  -out example.crt  -keyout example.key  -subj "/C=SI/ST=Ljubljana/L=Ljubljana/O=Security/OU=IT Department/CN=www.example.com"
 Generating a RSA private key ......................................................................++++ ........++++ writing new private key to 'example.key' -----

Поля, указанные в строке -subj , перечислены ниже:

  • C= — Название страны. Двухбуквенная аббревиатура ISO.
  • ST= — Название штата или провинции.
  • L= — Название населённого пункта. Название города, в котором вы находитесь.
  • O= — Полное название вашей организации.
  • OU= — Организационная единица.
  • CN= — Полное доменное имя.

Заключение

В этом руководстве мы показали, как создать самоподписанный SSL-сертификат с помощью инструмента openssl. Теперь, когда у вас есть сертификат, вы можете настроить приложение для его использования.

Если у вас есть вопросы, не стесняйтесь оставлять комментарии.

терминал безопасности bash

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *