mod
parent
b75271b8bf
commit
05f0c155ed
|
@ -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`
|
||||
|
||||
***
|
||||
|
|
Loading…
Reference in New Issue