master
Долгий Артём 2023-11-01 16:29:36 +03:00
parent b75271b8bf
commit 05f0c155ed
1 changed files with 18 additions and 61 deletions

View File

@ -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`
***