diff --git a/Самоподписный сертификат (ssl).md b/Самоподписный сертификат (ssl).md index c6da2b6..a934087 100644 --- a/Самоподписный сертификат (ssl).md +++ b/Самоподписный сертификат (ssl).md @@ -67,40 +67,20 @@ openssl genrsa -out rootCA.key 2048 ### Создаем корневой сертификат с использованием сгенерированого ключа ```bash -openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 7200 -out rootCA.pem +openssl req -new -x509 -days 365 -key rootCA.key -subj "/C=RU/ST=Moscow/O=Syssoft/CN=Syssoft Root Authority" -out rootCA.crt ``` `-x509` – экземпляр сертификата; `-new` – новый запрос сертификата; -`-nodes` – отключить шифрование выходного ключа; `-key rootCA.key` – файл ключа; -`-sha256` – алгоритм подписи; -`-days 7200` – период действия сертификата (в днях); -`-out rootCA.pem` – имя сгенерированного сертификата. - -Пример вывода: - -```bash -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]:RU -State or Province Name (full name) [Some-State]:Moscow -Locality Name (eg, city) []: -Organization Name (eg, company) [Internet Widgits Pty Ltd]:Syssoft -Organizational Unit Name (eg, section) []: -Common Name (e.g. server FQDN or YOUR name) []:Private Astra Root Authority -Email Address []: -``` +`-subj` – передаваемые параметры, чтобы не запрашивать их интерактивно; +`-days 365` – период действия сертификата (в днях); +`-out rootCA.crt` – имя сгенерированного сертификата. ### Проверить содержание сгенерированного сертификата ```bash -openssl x509 -text -noout -in rootCA.pem | head -15 +openssl x509 -text -noout -in rootCA.crt ``` ```bash @@ -135,53 +115,30 @@ openssl x509 -text -noout -in rootCA.pem | grep CA ### Генерация сертификата для домена -#### Создание закрытого ключа для домена +#### Создание закрытого ключа для домена и запрос на сертификат (CSR) ```bash -openssl genrsa -out astra.lan.key 2048 +openssl req -newkey rsa:2048 -nodes -keyout syssoft.su.key -subj "/C=RU/ST=Moscow/O=Syssoft DEMO Stand/CN=*.syssoft.su" -out syssoft.su.csr ``` -#### Создаем запрос на сертификат (CSR) - -CSR - обычно это та информация, которая отправляется в УЦ, но в нашем случае мы подписываем сертификат самостоятельно. - -```bash -openssl req -new -key astra.lan.key -out astra.lan-req.csr -``` - -`-req` - создать запрос на подпись; -`-new` - новый запрос; -`-key` - путь к закрытому ключу; -`-out` - выходной файл; - -Вводим [Пример]: - -```bash -Country name [Страна]: RU -State or Province Name (full name) [Край или область]: Moscow [можно пропустить] -Locality Name (eg, city) [Населенный пункт]: [можно пропустить] -Organization Name (eg, company) [Название организации]: Syssoft [можно пропустить] -Organizational Unit Name [Отдел]: [можно пропустить] -Common Name: [обычно указывается адрес сайта] *.astra.lan -email: [можно пропустить] -``` - -Вводим пароль [не обязательно]. - -Получим файл `astra.lan-req.csr` - содержащий информацию, необходимую для выпуска сертификата. - #### Выпускаем сертификат ```bash -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 -extfile <(printf "subjectAltName=DNS:*.syssoft.su") -days 365 -in syssoft.su.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out syssoft.su.crt ``` -`-req` - создать запрос на подпись; +В параметре `-extfile` указано альтернативное имя для домена, если его не прописать, браузеры откажутся принимать такой сертификат; `-in` - вводимый файл запроса; `-CA` - файл корневого сертификата; `-CAkey` - ключ корневого сертификата; `-out` - выходной crt-файл; -`-days` - количество дней действия; +`-days` - количество дней действия; + +Посмотреть информацию о созданном сертификате + +```bash +openssl x509 -in syssoft.su.crt -text -noout +``` #### Заключительный этап @@ -194,7 +151,7 @@ sysadmin@doc:~/cert$ ls -l -rw------- 1 sysadmin sysadmin 1675 окт 16 14:26 astra.lan.key -rw-r--r-- 1 sysadmin sysadmin 960 окт 16 14:27 astra.lan-req.csr -rw------- 1 sysadmin sysadmin 1679 окт 16 14:25 rootCA.key --rw-r--r-- 1 sysadmin sysadmin 1294 окт 16 14:25 rootCA.pem +-rw-r--r-- 1 sysadmin sysadmin 1294 окт 16 14:25 rootCA.crt -rw-r--r-- 1 sysadmin sysadmin 41 окт 16 14:27 rootCA.srl ``` @@ -203,6 +160,6 @@ sysadmin@doc:~/cert$ ls -l - к сертификату - `astra.lan.crt` - к приватному ключу - `astra.lan.key` -В браузеры на клиенты добавить в доверенные корневой сертификат нашего удостоверяющего центра `rootCA.pem` +В браузеры на клиенты добавить в доверенные корневой сертификат нашего удостоверяющего центра `rootCA.crt` ***