aboutsummaryrefslogtreecommitdiff
path: root/content/post/2024-02-21-tls.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/post/2024-02-21-tls.md')
-rw-r--r--content/post/2024-02-21-tls.md22
1 files changed, 11 insertions, 11 deletions
diff --git a/content/post/2024-02-21-tls.md b/content/post/2024-02-21-tls.md
index 759f1e0..47caee6 100644
--- a/content/post/2024-02-21-tls.md
+++ b/content/post/2024-02-21-tls.md
@@ -3,11 +3,11 @@ author: NeonXP
categories:
- Без рубрики
date: "2024-02-21T21:51:29Z"
-guid: http://5
id: 50
tags:
- it
- Россия
+- TLS
title: Конфигурация HTTPS с сертификатом от Минцифры
---
@@ -18,32 +18,32 @@ title: Конфигурация HTTPS с сертификатом от Минц
Поехали!
1. Идём сюда: <https://www.gosuslugi.ru/627603/1/form>
-2. По приведенной инструкции генерируем файл запроса сертификата. Вкратце так (только вместо neonxp.ru указываем свой домен):
+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
```
-
- ``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`````
+ ```
+ 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
```
-
- `<pre tabindex="0">openssl x509 -in neonxp.ru.crt -out neonxp.cer -outform PEM</pre>`
8. Соединяем свой сертификат и минцифровские в один бандл:
```
+ cat neonxp.cer russian_trusted_sub_ca_pem.cer russian_trusted_root_ca_pem.cer > chain.cer
```
-
- ``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
+ ...
+ }
```
-
- `<pre tabindex="0">neonxp.ru:443 { tls /data/ssl/chain.cer /data/ssl/neonxp.ru.key ...}</pre>`
В общем-то, всё. Как настанет время продлевать — я дополню заметку деталями именно продления. Если будут вопросы — пишите, попробуем решить. \ No newline at end of file