blob: edfdecae8b97ac78ef8d1a380ab44872fa3c46e4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
---
categories:
- Без рубрики
date: "2024-02-21T21:51:29Z"
tags:
- it
- Россия
- TLS
title: Конфигурация HTTPS с сертификатом от Минцифры
---
# Конфигурация HTTPS с сертификатом от Минцифры
Третьего дня потратил достаточно много времени на установку на данном сайте
сертификата от Минцифры.А поскольку сертификат краткоживущий (90 дней) — заметка
мне самому пригодится на будущее.
Началось всё с того, что я с удивлением обнаружил, что на госуслугах теперь
можно выпустить сертификат для домена физлицу.Это меня обрадовало, хотя ранее я
приунывал что нет никакой альтернативы простым смертным. Теперь есть.
~~~Закрывайте буржуйнет.~~~
Поехали!
1. Идём сюда: <https://www.gosuslugi.ru/627603/1/form>
2. По приведенной инструкции генерируем файл запроса сертификата. Вкратце так
(только вместо neonxp.ru указываем свой домен):
```
openssl req -out neonxp.ru.csr -new -subj "/C=RU/CN=neonxp.ru" -addext "keyUsage = digitalSignature, keyEncipherment" -addext "subjectAltName=DNS: neonxp.ru" -addext "extendedKeyUsage = serverAuth" -newkey rsa:2048 -nodes -keyout neonxp.ru.key
```
Важно! Нужно сохранить файл ключа neonxp.ru.key в надежном месте. Если он
попадет в чужие руки — нужно будет отзывать сертификат и начинать всё
заново!SAN и Wildcard пока не поддерживается, но что имеем — то и имеем. Но
по слухам таки будут, как минимум SAN.
3. Полученный файл csr загружаем там же на госуслуги
4. Ждём не долго (реально недолго, у меня прислали сертификат буквально через
несколько минут!)
5. В ответ придёт файл с рандомным названием. Сохраняем его туда, где лежат
другие файлы под названием “домен.crt”
6. Скачиваем корневой и промежуточные сертификаты:
```
wget https://gu-st.ru/content/Other/doc/russian_trusted_root_ca.cerwget https://gu-st.ru/content/Other/doc/russian_trusted_sub_ca.cer`````
```
7. Преобразуем скачанный сертификат в формат PEM:
```
openssl x509 -in neonxp.ru.crt -out neonxp.cer -outform PEM
```
8. Соединяем свой сертификат и минцифровские в один бандл:
```
cat neonxp.cer russian_trusted_sub_ca_pem.cer russian_trusted_root_ca_pem.cer > chain.cer
```
9. Используем полученный бандл и сгенерированный в пункте 2 файл ключа в
конфигурации вебсервера. У меня используется Caddy, поэтому мой конфиг
выглядит так:
```
neonxp.ru:443 {
tls /data/ssl/chain.cer /data/ssl/neonxp.ru.key
...
}
```
В общем-то, всё. Как настанет время продлевать — я дополню заметку деталями
именно продления. Если будут вопросы — пишите, попробуем решить.
|