master
Долгий Артём 2023-10-16 14:32:30 +03:00
parent b3f462262d
commit b9f2db9e08
1 changed files with 23 additions and 25 deletions

View File

@ -24,11 +24,11 @@ mkdir /home/$USER/cert && cd /home/$USER/cert
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /home/$USER/cert/astra.lan.key -out /home/$USER/cert/astra.lan.crt openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /home/$USER/cert/astra.lan.key -out /home/$USER/cert/astra.lan.crt
``` ```
`req -x509` - указывает, что мы хотим использовать управление запросами на подписание сертификатов X.509 (CSR). X.509 — это инфраструктура открытых ключей, используемая стандартами SSL и TLS для управления ключами и сертификатами; `req -x509` - указывает, что мы хотим использовать управление запросами на подписание сертификатов X.509 (CSR). X.509 — это инфраструктура открытых ключей, используемая стандартами SSL и TLS для управления ключами и сертификатами;
`-nodes` - предписывает OpenSSL пропустить опцию защиты нашего сертификата кодовой фразой; `-nodes` - предписывает OpenSSL пропустить опцию защиты нашего сертификата кодовой фразой;
`-days 365` - эта опция устанавливает период действия сертификата. Здесь мы устанавливаем срок действия в один год. Многие современные браузеры отклоняют любые сертификаты, срок действия которых превышает один год; `-days 365` - эта опция устанавливает период действия сертификата. Здесь мы устанавливаем срок действия в один год. Многие современные браузеры отклоняют любые сертификаты, срок действия которых превышает один год;
`-newkey rsa:2048` - указывает, что мы хотим сгенерировать новый сертификат и новый ключ одновременно. Мы не создали требуемый ключ для подписи сертификата на предыдущем шаге, и поэтому нам нужно создать его вместе с сертификатом. Часть rsa:2048 предписывает создать ключ RSA длиной 2048 бит; `-newkey rsa:2048` - указывает, что мы хотим сгенерировать новый сертификат и новый ключ одновременно. Мы не создали требуемый ключ для подписи сертификата на предыдущем шаге, и поэтому нам нужно создать его вместе с сертификатом. Часть rsa:2048 предписывает создать ключ RSA длиной 2048 бит;
`-keyout` - эта строка указывает OpenSSL, где разместить генерируемый файл закрытого ключа; `-keyout` - эта строка указывает OpenSSL, где разместить генерируемый файл закрытого ключа;
`-out` - указывает OpenSSL, где разместить создаваемый сертификат. `-out` - указывает OpenSSL, где разместить создаваемый сертификат.
Далее необходимо ответить на вопросы. Наиболее важная строка `Common Name`. Нужно ввести имя узла, которое будее использоваться для доступа к серверу. Чтобы иметь возможность использования сертификата в поддоменах, необходимо в имени указать маску поддоменов - `*.`. Например Common name для wildcard сертификата для домена astra.lan будет выглядеть так - `*.astra.lan`. Далее необходимо ответить на вопросы. Наиболее важная строка `Common Name`. Нужно ввести имя узла, которое будее использоваться для доступа к серверу. Чтобы иметь возможность использования сертификата в поддоменах, необходимо в имени указать маску поддоменов - `*.`. Например Common name для wildcard сертификата для домена astra.lan будет выглядеть так - `*.astra.lan`.
@ -60,7 +60,7 @@ mkdir /home/$USER/cert && cd /home/$USER/cert
openssl genrsa -out rootCA.key 2048 openssl genrsa -out rootCA.key 2048
``` ```
`genrsa` - создать закрытый ключ RSA `genrsa` - создать закрытый ключ RSA
`-out` - выходной файл `-out` - выходной файл
Получим файл: `rootCA.key` Получим файл: `rootCA.key`
@ -70,12 +70,12 @@ openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 7200 -out rootCA.pem openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 7200 -out rootCA.pem
``` ```
`-x509` экземпляр сертификата; `-x509` экземпляр сертификата;
`-new` новый запрос сертификата; `-new` новый запрос сертификата;
`-nodes` отключить шифрование выходного ключа; `-nodes` отключить шифрование выходного ключа;
`-key rootCA.key` файл ключа; `-key rootCA.key` файл ключа;
`-sha256` алгоритм подписи; `-sha256` алгоритм подписи;
`-days 7200` период действия сертификата (в днях); `-days 7200` период действия сертификата (в днях);
`-out rootCA.pem` имя сгенерированного сертификата. `-out rootCA.pem` имя сгенерированного сертификата.
Пример вывода: Пример вывода:
@ -151,10 +151,10 @@ CSR - обычно это та информация, которая отправ
openssl req -new -key astra.lan.key -out astra.lan-req.csr openssl req -new -key astra.lan.key -out astra.lan-req.csr
``` ```
`-req` - создать запрос на подпись `-req` - создать запрос на подпись;
`-new` - новый запрос `-new` - новый запрос;
`-key` - путь к закрытому ключу `-key` - путь к закрытому ключу;
`-out` - выходной файл `-out` - выходной файл;
Вводим [Пример]: Вводим [Пример]:
@ -178,12 +178,12 @@ email: [можно пропустить]
openssl x509 -req -in astra.lan-req.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out astra.lan.crt -days 999 -sha256 openssl x509 -req -in astra.lan-req.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out astra.lan.crt -days 999 -sha256
``` ```
`req` - создать запрос на подпись `-req` - создать запрос на подпись;
`in` - вводимый файл запроса `-in` - вводимый файл запроса;
`CA` - файл корневого сертификата `-CA` - файл корневого сертификата;
`CAkey` - ключ корневого сертификата `-CAkey` - ключ корневого сертификата;
`out` - выходной crt-файл `-out` - выходной crt-файл;
`days` - количество дней действия `-days` - количество дней действия;
#### Заключительный этап #### Заключительный этап
@ -202,11 +202,9 @@ sysadmin@doc:~/cert$ ls -l
В конфигурации web-сервера (Apache, Nginx) необходимо указать пути В конфигурации web-сервера (Apache, Nginx) необходимо указать пути
- к сертификату - `astra.lan.crt` - к сертификату - `astra.lan.crt`
- к приватному ключу - `astra.lan.key` - к приватному ключу - `astra.lan.key`
В браузеры на клиенты добавить в доверенные корневой сертификат нашего удостоверяющего центра `rootCA.pem` В браузеры на клиенты добавить в доверенные корневой сертификат нашего удостоверяющего центра `rootCA.pem`
*** ***