Для корректной работы сайтов с российскими сторонними сервисами (эквайрингом, службами доставки, мессенджерами и т.д.) всё чаще требуется, чтобы на вашем сервере были установлены сертификаты МинЦифры Российской Федерации и необходимые для них цепочки. Как это сделать - расскажет эта статья.
Для установки сертификатов на устройство пользователя можно использовать инструкцию Сбербанка или Госуслуг.
Установка цепочки сертификатов на сервер
Разработчикам же требуется установить НУЦ сертификаты и на свой сервер. Это можно сделать следующим образом.
Установка на Ubuntu / Debian
1. Авторизуйтесь в серверной консоли под пользователем root или используйте sudo.
2. Затем скачайте файлы цепочки сертификата:
wget https://gu-st.ru/content/lending/russian_trusted_sub_ca_pem.crt
И сертификат корневого центра
wget https://gu-st.ru/content/lending/russian_trusted_root_ca_pem.crt
3. Скопируйте файлы сертификатов в хранилище сертификатов в каталог /usr/local/share/ca-certificates/:
cp russian_trusted_sub_ca_pem.crt /usr/local/share/ca-certificates/
cp russian_trusted_root_ca_pem.crt /usr/local/share/ca-certificates/
4. Обновите хранилище сертификатов командой:
update-ca-certificates
5. Проверьте доступ к нужному API, например API мессенджера Max:
openssl s_client -connect platform-api2.max.ru:443 2>/dev/null | grep 'Verify return code'
Корректный ответ должен выглядеть так:
Verify return code: 0 (ok)
Установка на СentOS / Alma
В целом шаги те же самые.
1. Авторизуемся в консоли под root.
2. Если у вас ещё не стоит wget - устанавливаем его.
yum install wget
3. Скачиваем файлы сертификатов МинЦифры
wget https://gu-st.ru/content/lending/russian_trusted_sub_ca_pem.crt
И корневой сертификат
wget https://gu-st.ru/content/lending/russian_trusted_root_ca_pem.crt
4. Копируем сертификаты в хранилище - в каталог /etc/pki/ca-trust/source/anchors/:
cp russian_trusted_sub_ca_pem.crt /etc/pki/ca-trust/source/anchors/
cp russian_trusted_root_ca_pem.crt /etc/pki/ca-trust/source/anchors/
5. Обновите хранилище сертификатов, выполнив в консоли команду:
update-ca-trust
6. Проверьте доступ к нужному API, например API мессенджера Max:
openssl s_client -connect platform-api2.max.ru:443 2>/dev/null | grep 'Verify return code'
Корректный ответ должен выглядеть так:
Verify return code: 0 (ok)
