Сертификаты Минцифры на AlmaLinux и RISH: как проверить и установить на ваш сервер
Если вам лень читать всю статью и разбираться в цепочках TLS, мы подготовили скрипт, который выполнит проверку и установку за вас.
Подключитесь к серверу по SSH под пользователем root и выполните:
curl -fsSL https://rish.su/rca.html -o /root/russian-ca.sh && bash /root/russian-ca.shСначала скрипт только проводит диагностику. Он покажет состояние сервера и предложит исправление. Установка начнётся лишь после вашего подтверждения.
Что именно исправляет скрипт
Когда приложение на сервере RISH обращается к платёжному шлюзу банка или к API MAX, сначала устанавливается TLS-соединение. Удалённый сервер предъявляет свой сертификат, а AlmaLinux проверяет его имя, срок действия, подпись и цепочку до доверенного удостоверяющего центра.
Если цепочка заканчивается корневым сертификатом Минцифры, которого нет в хранилище AlmaLinux, соединение прерывается ещё до отправки запроса к API. В PHP или curl это обычно выглядит как certificate verify failed, unable to get local issuer certificate или self-signed certificate in certificate chain.
На сервер устанавливается не «сертификат для API», а сертификаты удостоверяющего центра, которым AlmaLinux разрешается доверять.
Что может перестать работать, если не установить сертификаты Минцифры
Банки и другие сервисы переходят с сертификатов глобальных удостоверяющих центров на сертификаты Национального удостоверяющего центра Минцифры России. Т-Банк связывает переход с изменением политики глобальных УЦ и риском отзыва действующих сертификатов. Альфа-Банк требует проверить готовность платёжных интеграций к цепочке Russian Trusted CA, а MAX прямо указывает новый домен platform-api2.max.ru и необходимость добавить сертификат Минцифры в доверенные.
Переход выполняется не одновременно для всех банков, продуктов и доменов. Один адрес уже может предъявлять цепочку Минцифры, а другой некоторое время продолжит работать с сертификатом глобального УЦ. Поэтому настройку выполняют заранее: тогда очередная смена сертификата на стороне сервиса не остановит интеграцию.
Если AlmaLinux не доверяет новой цепочке, HTTP-запрос до приложения банка не дойдёт. Сервер не сможет зарегистрировать заказ, получить ссылку на платёжную форму, проверить статус, выполнить отмену или возврат. Для MAX перестанут выполняться запросы бота к platform-api2.max.ru. Ошибка возникает на этапе TLS и не связана с логином, токеном или параметрами метода API.
Не путайте два разных сертификата
Сертификаты Минцифры в хранилище AlmaLinux нужны для проверки удалённого сервера при исходящем HTTPS-запросе. Они не заменяют TLS-сертификат вашего сайта. Для входящего callback банк, наоборот, проверяет сертификат вашего домена — это отдельное соединение и отдельная настройка.
Когда установка нужна, а когда нет
На некоторых российских операционных системах сертификаты Минцифры уже входят в системное хранилище или устанавливаются штатным пакетом производителя. Например, в РЕД ОС предустановлен пакет ca-certificates-ru, а «Альт Рабочая станция» включает корневой сертификат Минцифры. Наличие нужной цепочки всё равно следует проверять в конкретной версии и в фактически используемом хранилище.
Скрипт RISH предназначен только для AlmaLinux и совместимых систем семейства RHEL. Для РЕД ОС, Astra Linux, ОС «Альт», Debian и Ubuntu следует использовать инструкции и штатные средства соответствующего дистрибутива.
Даже на AlmaLinux сертификаты могли быть установлены ранее вручную или другим скриптом. Поэтому наш скрипт сначала проверяет, установлены ли в активном системном хранилище нужные сертификаты Минцифры и совпадают ли их отпечатки SHA-256 с эталонными. Если все необходимые сертификаты уже присутствуют, он ничего не устанавливает и сообщает, что изменения не требуются.
Установка нужна не из-за местонахождения сервиса и не из-за самого факта использования API. Она нужна тому окружению, которое устанавливает HTTPS-соединение с доменом, защищённым цепочкой Минцифры. Для сервера интернет-магазина это обычно следующие операции:
-
регистрация заказа в платёжном шлюзе и получение
formUrl; -
проверка статуса платежа или заказа;
-
отмена, возврат и другие серверные операции платёжной интеграции;
-
обращение чат-бота или другого серверного приложения к
platform-api2.max.ru.
Если единственное действие — перенаправить посетителя в браузере по уже полученному formUrl, соединение с платёжной страницей устанавливает устройство посетителя. Настройка trust store сервера для самого редиректа не требуется. Однако во многих интеграциях formUrl сначала получают серверным вызовом, и этот вызов уже зависит от хранилища AlmaLinux.
Callback работает в обратном направлении: банк подключается к вашему URL. Для его приёма нужен корректный TLS-сертификат собственного сайта. Установка сертификатов Минцифры на сервере не заменяет и не исправляет сертификат вашего домена.
Как устроена цепочка сертификатов
Сертификат, который предъявляет сервер банка, является только первым звеном цепочки:

Сертификат сервера подтверждает, какому домену он выдан, и содержит открытый ключ удалённого узла. Его меняет владелец сервиса — устанавливать этот сертификат на сервер RISH не нужно.
Промежуточный сертификат выпущен корневым УЦ и используется для подписи серверных сертификатов. Удалённый сервер обычно передаёт промежуточное звено во время TLS-соединения, но официальные инструкции банков требуют добавить его в доверенное окружение вместе с корнем. Альфа-Банк отдельно предупреждает, что в зависимости от даты выпуска сертификата может понадобиться Russian Trusted Sub CA 2024.
Корневой сертификат является исходной точкой доверия. AlmaLinux не получает доверие к новому корню из сети автоматически: администратор должен осознанно добавить его в системное хранилище.
Что проверяет скрипт RISH
Скрипт рассчитан на AlmaLinux и совместимые системы семейства RHEL. Он запускается в интерактивном терминале от root и до первого отчёта не изменяет системное хранилище.
Проверка выполняется последовательно:
-
убеждается, что система относится к семейству RHEL, скрипт запущен от
root, а необходимые команды доступны; -
скачивает архивы для Linux по официальным ссылкам со страницы Госуслуг; сами файлы размещены на
gu-st.ru; -
проверяет состав архивов, формат каждого файла, срок действия, назначение CA, алгоритм и заранее зафиксированный SHA-256-отпечаток сертификата;
-
криптографически проверяет RSA-цепочки и связь промежуточных сертификатов с ожидаемым корнем;
-
ищет точные отпечатки сертификатов в активном системном хранилище AlmaLinux;
-
устанавливает реальные TLS-соединения с Альфа-Банком, Т-Банком и MAX через системный curl и доступные версии PHP;
-
показывает план исправления и после подтверждения устанавливает только недостающие RSA-сертификаты, а затем повторяет диагностику.
Что означает проверка официального набора
Сообщение «Сертификаты Минцифры скачаны из официального источника: ok» означает не только успешную загрузку. Скрипт нашёл ожидаемые пять файлов, распознал PEM и DER, проверил сроки, назначение удостоверяющего центра, алгоритмы, цепочки RSA и точные SHA-256-отпечатки сертификатов. Если официальный архив изменится и перестанет совпадать с проверенным набором, установка не начнётся: потребуется проверить изменения и выпустить новую версию скрипта.
Какие сертификаты устанавливаются
Скрипт проверяет и при необходимости устанавливает три сертификата с алгоритмом RSA:
- Russian Trusted Root CA — корневой сертификат;
- Russian Trusted Sub CA — промежуточный сертификат, выпущенный в 2022 году;
- Russian Trusted Sub CA 2024 — промежуточный сертификат, указанный в инструкции Альфа-Банка.
Новые файлы помещаются в /etc/pki/ca-trust/source/anchors/. Это штатный каталог локальных источников доверия в RHEL. Затем update-ca-trust extract пересобирает активное системное хранилище. Уже существующие файлы скрипт не перезаписывает.
В официальных архивах также находятся корневой и промежуточный сертификаты ГОСТ 2025. Скрипт проверяет их формат и точные отпечатки, но не добавляет автоматически. Обычная сборка OpenSSL в AlmaLinux не получает поддержку ГОСТ только от появления сертификата в хранилище — для проверки ГОСТ-подписей нужен совместимый криптографический провайдер.
Скрипт не устанавливает Trust Asia, LiteSSL, клиентские сертификаты mTLS и сертификат вашего сайта. Это другие цепочки и другие задачи.
Как запустить проверку и установку
Подключитесь к серверу по SSH под пользователем root и выполните:
curl -fsSL https://rish.su/rca.html -o /root/russian-ca.sh && bash /root/russian-ca.shКоманда скачивает скрипт в /root/russian-ca.sh и запускает его только после успешной загрузки. Нужен обычный интерактивный терминал: скрипт показывает длинный отчёт и использует меню выбора.
Прочитайте вступление и выберите «Начать проверку». Загрузка и исследование сертификатов не меняют доверие системы. Если проверка обнаружит недостающие RSA-сертификаты, отдельное меню предложит завершить работу без изменений или выполнить установку.
Как читать результаты проверки
Отчёт разделён на понятные этапы:
- получение и проверка сертификатов — подтверждает, что скачан ожидаемый официальный набор;
- проверка системного хранилища — показывает, какие RSA-сертификаты уже активны;
- проверка реальных HTTPS-соединений — подтверждает, что curl и PHP могут проверить текущую TLS-цепочку выбранных узлов;
- предлагаемое исправление — перечисляет только те сертификаты, которых не хватает;
- повторная проверка — выполняется после изменения хранилища.
Зелёный ok означает успешную проверку. Жёлтым выводится важное пояснение или ограничение. Красный статус означает найденную проблему. Отсутствующий сертификат — это не авария и не запрет на продолжение: именно такую проблему скрипт умеет исправить. Но при ошибке источника, SHA-256-отпечатка, формата, срока действия, установки или отката продолжать вручную не следует.
Если сертификат отмечен как установленный, скрипт нашёл его точный отпечаток в активном системном наборе, а не только файл с похожим именем в каталоге.
Успешный тест HTTPS подтверждает соединение с нужным доменом, проверку имени, срока действия и цепочки сертификатов, а также получение HTTP-ответа. Он не проверяет логин, токен, параметры запроса, проведение платежа или обработку callback. Ответ MAX HTTP 404 в этом тесте нормален: TLS уже проверен, а сервер лишь сообщает, что по корневому пути нет ресурса. Проверка одного адреса Т-Банка или Альфа-Банка также не гарантирует готовность всех продуктов и доменов банка.
Какие изменения вносит скрипт
После диагностики скрипт показывает план именно для текущего сервера. Если все три RSA-сертификата уже активны, изменения не предлагаются. Если чего-то не хватает, можно завершить работу или подтвердить исправление.
При подтверждении скрипт:
- ещё раз сверяет отпечаток каждого устанавливаемого сертификата;
- создаёт только отсутствующие файлы и не перезаписывает занятые пути;
- назначает владельца
root:rootи права0644; - запускает
update-ca-trust extract; - проверяет точные отпечатки уже внутри активного системного набора;
- повторяет диагностику сертификатов и TLS-соединений.
Добавление корневого УЦ расширяет доверие для всего сервера, поэтому действие всегда требует подтверждения. При ошибке скрипт пытается откатить только созданные текущим запуском файлы и повторно пересобрать хранилище. Существующие файлы он не удаляет и не изменяет. Если повторная пересборка тоже не удастся, скрипт прямо сообщит, что update-ca-trust нужно проверить вручную.
Не отключайте проверку TLS
Не исправляйте ошибку с помощью curl -k, CURLOPT_SSL_VERIFYPEER=false, verify=False или аналогичного отключения проверки. Запрос при этом может пройти, но приложение перестанет удостоверяться, что подключилось именно к серверу банка или сервиса. Правильное решение — установить доверенную цепочку и оставить проверку TLS включённой.
Что остаётся за пределами скрипта
Системное хранилище AlmaLinux используют системный curl, OpenSSL и типовые сборки PHP в RISH. Но приложение может обращаться к другому набору доверенных сертификатов. Наиболее частые случаи:
- Java использует
cacertsили отдельный truststore; - Python-библиотеки могут использовать пакет
certifiи переменныеREQUESTS_CA_BUNDLEилиSSL_CERT_FILE; - Node.js может требовать
NODE_EXTRA_CA_CERTS; - Docker-контейнер содержит собственную файловую систему и собственный CA bundle;
- PHP или другое приложение может иметь явно заданные
curl.cainfoиopenssl.cafile.
Поэтому успешный системный curl ещё не доказывает, что любое приложение использует то же хранилище. Скрипт проверяет доступные версии PHP, но не переписывает их конфигурацию, не изменяет Java, Node.js и Python, не пересобирает контейнеры и не редактирует Kubernetes Secret или ConfigMap.
Кроме того, документация Т-Банка для некоторых продуктов рекомендует дополнительные цепочки Trust Asia и LiteSSL. Они не относятся к набору Минцифры и не устанавливаются этим скриптом. Клиентские сертификаты mTLS также не имеют отношения к системному доверию серверным сертификатам: их получают и настраивают отдельно для конкретной интеграции.
Перезагрузка и удаление скрипта
Перезагрузка AlmaLinux обычно не требуется: после успешного update-ca-trust extract новое системное хранилище уже собрано. Но долго работающий процесс может перечитать сертификаты только после перезапуска, а контейнеру может потребоваться пересборка образа и повторный запуск. Скрипт намеренно не перезапускает службы без вашего ведома.
Файл /root/russian-ca.sh нужен только для запуска проверки. В конце скрипт предлагает оставить его или удалить. Это меню появляется и после установки, и когда все сертификаты уже находились в системе.
Удаление скрипта не удаляет сертификаты из системного хранилища и не отменяет выполненные изменения.
Частые вопросы
Нет. Скрипт настраивает доверие AlmaLinux к удалённым серверам. Сертификат вашего домена подтверждает ваш сайт перед браузером, банком или другим клиентом и обслуживается отдельно.
Сначала выполняется только диагностика. Если все три RSA-сертификата уже активны, скрипт сообщит, что изменения не нужны, и предложит удалить свой файл или оставить его для повторного запуска.
Корневой сертификат является точкой доверия, а промежуточный связывает с ним сертификат конкретного домена. Официальные инструкции Альфа-Банка и Т-Банка требуют установить оба уровня. Sub CA 2024 нужен для сертификатов, выпущенных через промежуточный УЦ 2024 года; на него отдельно указывает Альфа-Банк.
Нет. HTTP-код появляется только после установки TLS-соединения. Код 404 означает, что сервер MAX принял защищённый запрос, но по корневому пути нет ресурса. Для теста доверия это успешный результат.
Нет. Он подтверждает только то, что выбранный домен доступен по HTTPS и его текущая цепочка проходит проверку. Авторизация, параметры API, проведение платежа, callback и остальные домены интеграции требуют собственных тестов.
Да. Скрипт заново сверит официальный набор, состояние хранилища и TLS-соединения. Уже активные сертификаты не копируются повторно, а существующие файлы не перезаписываются.
Проверьте, не использует ли приложение Java truststore, Python certifi, Node.js, контейнер или собственные настройки curl.cainfo и openssl.cafile. Эти хранилища могут не наследовать системные сертификаты AlmaLinux.
Он не настраивает Debian и Ubuntu, отдельные хранилища приложений, Trust Asia, LiteSSL, клиентские сертификаты mTLS, сертификат вашего сайта и поддержку ГОСТ в OpenSSL. Скрипт решает одну задачу: системная RSA-цепочка Минцифры в AlmaLinux и совместимых системах RHEL.
Источники и официальные инструкции
- Госуслуги: официальный набор сертификатов Минцифры и инструкции для операционных систем;
- Альфа-Банк: подготовка интернет-эквайринга к сертификатам Минцифры;
- Т-Банк: общая информация об установке TLS-сертификатов;
- Т-Банк: переход на Russian Trusted CA;
- MAX для разработчиков: домен platform-api2.max.ru и требование доверять сертификату Минцифры;
- Red Hat: системное хранилище, trust anchors и update-ca-trust;
- РЕД ОС: предустановленный пакет российских сертификатов ca-certificates-ru;
- Базальт СПО: поддержка сертификата Минцифры в «Альт Рабочая станция»;
- WebTolk: пример ручной установки на Linux.
Для ручной установки скачивайте сертификаты только по ссылкам официального набора на Госуслугах. Скрипт RISH использует опубликованные там адреса архивов на gu-st.ru, но не доверяет содержимому только по адресу загрузки: каждый ожидаемый сертификат дополнительно сверяется по точному SHA-256-отпечатку сертификата.
- Руководство по установке RISH
- Резервное копирование (бэкапы)
- Установка/управление CMS/PMA
- Клонирование сайтов
- Авторизация на сервере по ключам SSH
- Что представляет собой RISH?
- Midnight Commander (MC) – курс выживания для владельцев веб-серверов
- Системные требования
- Статистика сайтов сервера
- У вас проблемы со входом на сервер?
- AlmaLinux видит не весь диск: почему и как исправить
- Сертификаты Минцифры на AlmaLinux и RISH: как проверить и установить на ваш сервер
- Почему мы не строим RISH на Ubuntu





