From 8e79098193fd0a8b65305dd8054cf7c424c60bc5 Mon Sep 17 00:00:00 2001 From: Alexander Neonxp Kiryukhin Date: Sun, 10 Nov 2024 00:04:43 +0300 Subject: новая жизнь блога 2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/post/2024-02-21-tls.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'content/post/2024-02-21-tls.md') 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. Идём сюда: -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 ``` - - `
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 ``` - - ``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 + ... + } ``` - - `
neonxp.ru:443 {    tls /data/ssl/chain.cer /data/ssl/neonxp.ru.key    ...}
` В общем-то, всё. Как настанет время продлевать — я дополню заметку деталями именно продления. Если будут вопросы — пишите, попробуем решить. \ No newline at end of file -- cgit v1.2.3