summaryrefslogtreecommitdiff
path: root/content/posts/2024-02-21-tls
diff options
context:
space:
mode:
author2026-02-02 00:35:54 +0300
committer2026-02-02 00:35:54 +0300
commitbfdd73d7324a4f66a16f55d4fb064b0ff08d40e9 (patch)
tree27fff9c802dcdd22960bb2e776e58278000d0364 /content/posts/2024-02-21-tls
parentПоправил шаблон (diff)
downloadblog-bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9.tar.gz
blog-bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9.tar.bz2
blog-bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9.tar.xz
blog-bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9.zip
Большая чистка блога
Diffstat (limited to 'content/posts/2024-02-21-tls')
-rw-r--r--content/posts/2024-02-21-tls/index.md54
1 files changed, 54 insertions, 0 deletions
diff --git a/content/posts/2024-02-21-tls/index.md b/content/posts/2024-02-21-tls/index.md
new file mode 100644
index 0000000..4529bd9
--- /dev/null
+++ b/content/posts/2024-02-21-tls/index.md
@@ -0,0 +1,54 @@
+---
+categories:
+ - Без рубрики
+date: "2024-02-21T21:51:29Z"
+tags:
+ - it
+ - Россия
+ - TLS
+title: Конфигурация HTTPS с сертификатом от Минцифры
+---
+
+Третьего дня потратил достаточно много времени на установку на данном сайте
+сертификата от Минцифры.А поскольку сертификат краткоживущий (90 дней) — заметка
+мне самому пригодится на будущее.
+
+Началось всё с того, что я с удивлением обнаружил, что на госуслугах теперь
+можно выпустить сертификат для домена физлицу.Это меня обрадовало, хотя ранее я
+приунывал что нет никакой альтернативы простым смертным. Теперь есть.
+<del>Закрывайте буржуйнет.</del>
+
+Поехали!
+
+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.cer
+ wget 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
+ ...
+ }
+ ```
+
+В общем-то, всё. Как настанет время продлевать — я дополню заметку деталями
+именно продления. Если будут вопросы — пишите, попробуем решить.