diff --git a/Самоподписный сертификат (ssl).md b/Самоподписный сертификат (ssl).md index fdb83b7..f622786 100644 --- a/Самоподписный сертификат (ssl).md +++ b/Самоподписный сертификат (ssl).md @@ -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 ``` -`req -x509` - указывает, что мы хотим использовать управление запросами на подписание сертификатов X.509 (CSR). X.509 — это инфраструктура открытых ключей, используемая стандартами SSL и TLS для управления ключами и сертификатами; -`-nodes` - предписывает OpenSSL пропустить опцию защиты нашего сертификата кодовой фразой; -`-days 365` - эта опция устанавливает период действия сертификата. Здесь мы устанавливаем срок действия в один год. Многие современные браузеры отклоняют любые сертификаты, срок действия которых превышает один год; -`-newkey rsa:2048` - указывает, что мы хотим сгенерировать новый сертификат и новый ключ одновременно. Мы не создали требуемый ключ для подписи сертификата на предыдущем шаге, и поэтому нам нужно создать его вместе с сертификатом. Часть rsa:2048 предписывает создать ключ RSA длиной 2048 бит; -`-keyout` - эта строка указывает OpenSSL, где разместить генерируемый файл закрытого ключа; +`req -x509` - указывает, что мы хотим использовать управление запросами на подписание сертификатов X.509 (CSR). X.509 — это инфраструктура открытых ключей, используемая стандартами SSL и TLS для управления ключами и сертификатами; +`-nodes` - предписывает OpenSSL пропустить опцию защиты нашего сертификата кодовой фразой; +`-days 365` - эта опция устанавливает период действия сертификата. Здесь мы устанавливаем срок действия в один год. Многие современные браузеры отклоняют любые сертификаты, срок действия которых превышает один год; +`-newkey rsa:2048` - указывает, что мы хотим сгенерировать новый сертификат и новый ключ одновременно. Мы не создали требуемый ключ для подписи сертификата на предыдущем шаге, и поэтому нам нужно создать его вместе с сертификатом. Часть rsa:2048 предписывает создать ключ RSA длиной 2048 бит; +`-keyout` - эта строка указывает OpenSSL, где разместить генерируемый файл закрытого ключа; `-out` - указывает OpenSSL, где разместить создаваемый сертификат. Далее необходимо ответить на вопросы. Наиболее важная строка `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 ``` -`genrsa` - создать закрытый ключ RSA +`genrsa` - создать закрытый ключ RSA `-out` - выходной файл Получим файл: `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 ``` -`-x509` – экземпляр сертификата; -`-new` – новый запрос сертификата; -`-nodes` – отключить шифрование выходного ключа; -`-key rootCA.key` – файл ключа; -`-sha256` – алгоритм подписи; -`-days 7200` – период действия сертификата (в днях); +`-x509` – экземпляр сертификата; +`-new` – новый запрос сертификата; +`-nodes` – отключить шифрование выходного ключа; +`-key rootCA.key` – файл ключа; +`-sha256` – алгоритм подписи; +`-days 7200` – период действия сертификата (в днях); `-out rootCA.pem` – имя сгенерированного сертификата. Пример вывода: @@ -151,10 +151,10 @@ CSR - обычно это та информация, которая отправ openssl req -new -key astra.lan.key -out astra.lan-req.csr ``` -`-req` - создать запрос на подпись -`-new` - новый запрос -`-key` - путь к закрытому ключу -`-out` - выходной файл +`-req` - создать запрос на подпись; +`-new` - новый запрос; +`-key` - путь к закрытому ключу; +`-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 ``` -`req` - создать запрос на подпись -`in` - вводимый файл запроса -`CA` - файл корневого сертификата -`CAkey` - ключ корневого сертификата -`out` - выходной crt-файл -`days` - количество дней действия +`-req` - создать запрос на подпись; +`-in` - вводимый файл запроса; +`-CA` - файл корневого сертификата; +`-CAkey` - ключ корневого сертификата; +`-out` - выходной crt-файл; +`-days` - количество дней действия; #### Заключительный этап @@ -202,11 +202,9 @@ sysadmin@doc:~/cert$ ls -l В конфигурации web-сервера (Apache, Nginx) необходимо указать пути -- к сертификату - `astra.lan.crt` +- к сертификату - `astra.lan.crt` - к приватному ключу - `astra.lan.key` В браузеры на клиенты добавить в доверенные корневой сертификат нашего удостоверяющего центра `rootCA.pem` *** - -