Как установить сертификаты НУЦ Минцифры России
Введение
Сертификаты Минцифры используются для проверки подлинности TLS-соединений с сайтами и сервисами, применяющими российские сертификаты. Их установка может потребоваться для работы платёжных шлюзов, банковских сервисов и других систем, использующих соответствующую цепочку доверия.
В этой статье рассмотрим установку корневого и промежуточного сертификатов в Debian, Ubuntu, CentOS, RHEL и Windows, а также проверку результата.
1. Какие сертификаты необходимо установить
Для настройки доверия используются два сертификата:
-
Russian Trusted Root CA - корневой сертификат удостоверяющего центра.
-
Russian Trusted Sub CA - промежуточный сертификат, участвующий в выпуске сертификатов серверов.
Сертификаты можно получить с официального портала Госуслуг: https://www.gosuslugi.ru/crt.
В инструкциях ниже используются прямые ссылки на файлы сертификатов. Перед установкой рекомендуется проверить их актуальность и подлинность.
Важно учитывать, что установка сертификатов на сервере и на компьютере клиента решает разные задачи. Если приложение использует собственное хранилище сертификатов, добавление сертификатов в системное хранилище может не устранить ошибку.
2. Установка на Debian и Ubuntu
Шаг 1. Установите необходимые пакеты
Подключитесь к серверу по SSH и выполните:
sudo apt update
sudo apt install -y ca-certificates openssl wget
Шаг 2. Скачайте сертификаты
Выполните команды:
wget -O russian_trusted_root_ca_pem.crt \
https://gu-st.ru/content/lending/russian_trusted_root_ca_pem.crt
wget -O russian_trusted_sub_ca_pem.crt \
https://gu-st.ru/content/lending/russian_trusted_sub_ca_pem.crt
Проверьте, что файлы содержат сертификаты X.509:
openssl x509 -in russian_trusted_root_ca_pem.crt -noout -subject -issuer
openssl x509 -in russian_trusted_sub_ca_pem.crt -noout -subject -issuer
Если команды выводят информацию о сертификатах, можно переходить к установке.
Шаг 3. Добавьте сертификаты в системное хранилище
Скопируйте файлы в каталог доверенных сертификатов:
sudo cp russian_trusted_root_ca_pem.crt /usr/local/share/ca-certificates/
sudo cp russian_trusted_sub_ca_pem.crt /usr/local/share/ca-certificates/
Шаг 4. Обновите хранилище
Выполните:
sudo update-ca-certificates
Система обработает сертификаты и обновит хранилище доверия.
3. Установка на CentOS и RHEL
В CentOS Stream, RHEL и совместимых дистрибутивах используется механизм ca-trust.
Шаг 1. Установите необходимые пакеты
Для современных систем:
sudo dnf install -y ca-certificates openssl wget
В старых версиях CentOS вместо dnf может использоваться yum:
sudo yum install -y ca-certificates openssl wget
Шаг 2. Скачайте сертификаты
Выполните:
wget -O russian_trusted_root_ca_pem.crt \
https://gu-st.ru/content/lending/russian_trusted_root_ca_pem.crt
wget -O russian_trusted_sub_ca_pem.crt \
https://gu-st.ru/content/lending/russian_trusted_sub_ca_pem.crt
Проверьте содержимое файлов:
openssl x509 -in russian_trusted_root_ca_pem.crt -noout -subject -issuer
openssl x509 -in russian_trusted_sub_ca_pem.crt -noout -subject -issuer
Шаг 3. Добавьте сертификаты в системное хранилище
Скопируйте файлы в каталог доверенных сертификатов:
sudo cp russian_trusted_root_ca_pem.crt /etc/pki/ca-trust/source/anchors/
sudo cp russian_trusted_sub_ca_pem.crt /etc/pki/ca-trust/source/anchors/
Шаг 4. Обновите хранилище
Выполните:
sudo update-ca-trust
После обновления системные приложения, использующие стандартное хранилище сертификатов, смогут учитывать добавленные сертификаты.
4. Установка на Windows
В Windows сертификаты можно установить через графический интерфейс или PowerShell. Второй способ удобнее для администрирования Windows Server и автоматизации.
В примерах ниже сертификаты скачиваются в каталог C:\certs, а затем импортируются в хранилище локального компьютера.
Способ 1. Скачивание и установка через PowerShell
Шаг 1. Скачайте сертификаты
Откройте PowerShell от имени администратора и выполните:
$CertPath = "C:\certs"
New-Item -Path $CertPath -ItemType Directory -Force | Out-Null
Invoke-WebRequest -Uri "https://gu-st.ru/content/lending/russian_trusted_root_ca_pem.crt" -OutFile "$CertPath\russian_trusted_root_ca_pem.crt"
Invoke-WebRequest -Uri "https://gu-st.ru/content/lending/russian_trusted_sub_ca_pem.crt" -OutFile "$CertPath\russian_trusted_sub_ca_pem.crt"
Проверьте наличие файлов:
Get-ChildItem $CertPath
Шаг 2. Проверьте и подготовьте сертификаты
Скачанные файлы имеют формат PEM. Для совместимости с импортом через Windows преобразуем их в формат DER, сохранив результат с расширением .cer.
Выполните:
$CertPath = "C:\certs"
$RootFile = "$CertPath\russian_trusted_root_ca_pem.crt"
$SubFile = "$CertPath\russian_trusted_sub_ca_pem.crt"
foreach ($File in @($RootFile, $SubFile)) {
if (!(Test-Path $File)) {
throw "Certificate file not found: $File"
}
}
$Root = Get-Content $RootFile -Raw
$Sub = Get-Content $SubFile -Raw
$RootBase64 = $Root -replace '-----BEGIN CERTIFICATE-----|-----END CERTIFICATE-----|\s', ''
$SubBase64 = $Sub -replace '-----BEGIN CERTIFICATE-----|-----END CERTIFICATE-----|\s', ''
[IO.File]::WriteAllBytes("$CertPath\russian_trusted_root_ca.cer", [Convert]::FromBase64String($RootBase64))
[IO.File]::WriteAllBytes("$CertPath\russian_trusted_sub_ca.cer", [Convert]::FromBase64String($SubBase64))
Write-Host "Certificates converted successfully"
Шаг 3. Установите сертификаты
Импортируйте корневой сертификат в хранилище доверенных корневых центров, а промежуточный сертификат - в хранилище промежуточных центров сертификации:
Import-Certificate `
-FilePath "$CertPath\russian_trusted_root_ca.cer" `
-CertStoreLocation "Cert:\LocalMachine\Root"
Import-Certificate `
-FilePath "$CertPath\russian_trusted_sub_ca.cer" `
-CertStoreLocation "Cert:\LocalMachine\CA"
Хранилища используются следующим образом:
-
LocalMachine\Root- доверенные корневые центры сертификации. -
LocalMachine\CA- промежуточные центры сертификации.
Поскольку используется хранилище локального компьютера, сертификаты будут доступны приложениям, работающим под разными учётными записями, если они используют системное хранилище Windows.
Шаг 4. Проверьте установку
Выполните:
Get-ChildItem Cert:\LocalMachine\Root |
Where-Object { $_.Thumbprint }
Get-ChildItem Cert:\LocalMachine\CA |
Where-Object { $_.Thumbprint }
Команды выведут сертификаты из соответствующих хранилищ. Для проверки конкретных сертификатов дополнительно сравните их отпечатки с заранее проверенными значениями.
Способ 2. Установка через графический интерфейс
Если требуется установить сертификаты вручную, используйте мастер импорта Windows.
Установка корневого сертификата
-
Откройте https://www.gosuslugi.ru/crt.
-
Скачайте корневой сертификат для Windows.
-
Если файл имеет формат PEM, преобразуйте его в DER по инструкции выше либо используйте готовый сертификат в формате
.cer. -
Нажмите на файл правой кнопкой мыши и выберите «Установить сертификат».
-
Выберите «Локальный компьютер», если сертификат должен быть доступен системным службам. Для этого потребуются права администратора.
-
Выберите «Поместить все сертификаты в следующее хранилище».
-
Укажите «Доверенные корневые центры сертификации».
-
Завершите импорт.
Установка промежуточного сертификата
Повторите процедуру для промежуточного сертификата, выбрав хранилище «Промежуточные центры сертификации».
После установки перезапустите приложение, в котором возникала ошибка проверки сертификата.
5. Проверка подключения к серверу
После установки сертификатов проверьте TLS-соединение с нужным ресурсом.
Например, в Linux выполните:
openssl s_client \
-connect sberbank.ru:443 \
-servername sberbank.ru \
-verify_return_error </dev/null
В конце вывода найдите строку:
Verify return code: 0 (ok)
Такой результат означает, что OpenSSL успешно проверил цепочку сертификатов соединения с учётом доступного ему хранилища доверия.
Если проверка завершается ошибкой, это не обязательно означает, что сертификаты установлены неправильно. Причиной могут быть проблемы с цепочкой на стороне сервера, отсутствие промежуточного сертификата, особенности хранилища приложения или другая ошибка TLS.
6. Альтернатива: Яндекс Браузер
Если устанавливать сертификаты непосредственно в операционную систему не требуется, можно воспользоваться Яндекс Браузером. В нём уже предусмотрена поддержка российских TLS-сертификатов, включая сертификаты Национального удостоверяющего центра Минцифры. Дополнительная установка сертификатов в Windows для работы сайтов через этот браузер не нужна.
Яндекс предлагает две версии браузера:
-
Яндекс Браузер для личного использования - подходит для домашних пользователей и обычных рабочих компьютеров.
-
Яндекс Браузер для организаций - корпоративная версия с поддержкой централизованного развёртывания, групповыми политиками и инструментами администрирования. Доступны базовая и расширенная версии.
Корпоративный вариант позволяет администраторам централизованно управлять настройками браузера и развёртывать его на компьютерах сотрудников.
Использование Яндекс Браузера особенно удобно, если необходимо обеспечить доступ к российским сайтам и онлайн-сервисам без изменения системного хранилища сертификатов.
Важно: встроенная поддержка сертификатов действует в пределах самого браузера. Она не заменяет установку сертификатов в операционную систему, если они необходимы другим приложениям, службам или серверному программному обеспечению.
Заключение
Сертификаты Минцифры можно установить в системное хранилище Linux или Windows без ручного копирования содержимого сертификатов. После установки необходимо проверить доступность нужного ресурса и убедиться, что приложение использует обновлённое хранилище доверия.
При настройке серверной инфраструктуры учитывайте окружение, из которого выполняется соединение. Сертификаты на хостовой системе не обязательно будут доступны приложению в контейнере Docker или среде Java с отдельным хранилищем доверия.












