Как создать самоподписанные сертификаты SSL в Ubuntu 20.04 | 18.04
Это краткое руководство показывает студентам и новым пользователям, как настроить самозаверяющие сертификаты SSL в Ubuntu 20.04 | 18.04.
Самозаверяющие сертификаты в основном используются внутри лабораторий или бизнес-сред, где сертификаты создаются человеком или компанией, а не доверенной третьей стороной.
Эти сертификаты, хотя и не созданы доверенным сторонним центром сертификации (ЦС), имеют тот же уровень шифрования, что и доверенные сертификаты.
Самозаверяющие сертификаты, используемые для защиты ресурса, будут отображать предупреждение во всех веб-браузерах о том, что этому сертификату нельзя доверять.
Инструментарий openssl требуется для создания самозаверяющего сертификата.
Убедитесь, что установлен openssl toolkit. Чтобы проверить это, выполните следующие команды:
openssl version
Это должно отобразить вывод, аналогичный приведенному ниже:
OpenSSL 1.1.1f 31 Mar 2020
Если пакет не установлен, просто выполните приведенные ниже команды, чтобы установить его.
sudo apt install openssl
Чтобы создать самозаверяющие сертификаты, выполните следующие команды:
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 365 – количество дней, в течение которых должен быть заверен сертификат. 365 — это 1 год.
- -nodes – создает ключ без ключевой фразы.
- -out example.crt – указывает имя файла сертификата
- -keyout example.key – указывает имя файла ключа сертификата
Как только вы нажмете Enter, должен начаться процесс создания сертификата.
После этого должны быть созданы файл сертификата и ключ.
При появлении запроса введите информацию о сертификате.
enerating 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. ----- Country Name (2 letter code) [AU]:US State or Province Name (full name) [Some-State]:New York Locality Name (eg, city) []:Brooklyn Organization Name (eg, company) [Internet Widgits Pty Ltd]:Example, Inc Organizational Unit Name (eg, section) []:IT Common Name (e.g. server FQDN or YOUR name) []:example.com Email Address []:it@example.com
Файл сертификата и ключ созданы и готовы к использованию.
Если вы хотите сделать то же самое, но без запроса на ввод данных сертификата, просто выполните следующие команды:
openssl req -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -out example.crt -keyout example.key -subj "/C=US/ST=New York/L=Brooklyn/O=Example, Inc./OU=IT/CN=example.com"
Подробности в теме письма:
C = название страны. Двухбуквенное сокращение ISO. ST = название штата или провинции. L = Название населенного пункта. Название города, в котором вы находитесь. O = полное название вашей организации. OU = организационная единица. CN = полное доменное имя.