Пост про https от Минцифры
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
parent
f51656f514
commit
87a40a0200
2 changed files with 51 additions and 2 deletions
|
@ -0,0 +1,49 @@
|
|||
---
|
||||
title: "Конфигурация HTTPS с сертификатом от Минцифры"
|
||||
date: 2024-02-21T21:51:29+03:00
|
||||
tags: ["it", "заметки"]
|
||||
featuredImage: /img/posts/photo_2023-12-27_22-47-36.jpg
|
||||
---
|
||||
|
||||
Третьего дня потратил достаточно много времени на установку на данном сайте сертификата от Минцифры.
|
||||
А поскольку сертификат краткоживущий (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.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
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
В общем-то, всё. Как настанет время продлевать - я дополню заметку деталями именно продления. Если будут вопросы - пишите, попробуем решить.
|
||||
|
||||
Есть что накинуть? Внизу теперь есть комментарии:
|
|
@ -1,3 +1,3 @@
|
|||
#! /bin/sh
|
||||
|
||||
echo "---\ntitle: \"$1\"\ndate: $(date '+%Y-%m-%dT%H:%M:%S')+03:00\ntags: []\n---\n\n\n\nЕсть что накинуть? Внизу теперь есть комментарии:" > content/posts/$(date '+%Y-%m-%d')-$1.md
|
||||
filename=`echo $1 | sed "s/ /_/g"`
|
||||
echo "---\ntitle: \"$1\"\ndate: $(date '+%Y-%m-%dT%H:%M:%S')+03:00\ntags: []\n---\n\n\n\nЕсть что накинуть? Внизу теперь есть комментарии:" > content/posts/$(date '+%Y-%m-%d')-$filename.md
|
Loading…
Reference in a new issue