ym88659208ym87991671
Как добавить сертификат Минцифры при работе по API | Документация для разработчиков

Как добавить сертификат Минцифры при работе по API

Обновлено 20 декабря 2023

Для сохранения доступности сервисов и систем API от Сбера в срок до 30.04.2023 добавьте сертификаты Национального удостоверяющего центра Минцифры России.

Для данных целей введен в действие шлюз API mc.api.sberbank.ru:443.

Для переключения шлюза на стороне вашей системы необходимо выполнить следующие действия: ​​

  1. Добавить доверенные сертификаты.

    Добавить доверенные сертификаты УЦ Министерства цифрового развития, связи и массовых коммуникаций РФ в список доверенных сертификатов ваших систем. Пошаговое описание по настройке — в разделе Добавляем доверенные сертификаты шлюзов УЦ Минцифры в настройки системы.

  2. Указать значение шлюза.

    Заменить в параметрах взаимодействия значения адреса шлюза на mc.api.sberbank.ru.

  3. Указать значение порта.

    Заменить в параметрах взаимодействия значения номера порта на 443 (или можно вообще не указывать, т. к. данный порт используется по умолчанию). Остальные параметры вызова остаются неизменными.

Например, получение токена:

​​

После переключения взаимодействия на новый шлюз никаких дополнительных действий не требуется.

Для предварительной проверки параметров взаимодействия с новым шлюзом можно воспользоваться демонстрационным API (https://api.developer.sber.ru/product/DEMOJSON), подписка на который доступна без заключения дополнительного соглашения.

Параметры авторизации и формат запроса/ответа для проверки подключения приведены ниже в Инструкции по проверке параметров взаимодействия со шлюзом API, с использованием демонстрационного API.

В случае возникновения вопросов или ошибок при переключении на mc.api.sberbank.ru, свяжитесь с нами по e-mail: info.developer@sberbank.ru. ​​

Добавляем доверенные сертификаты в настройки системы

Списки доверенных сертификатов УЦ Министерства цифрового развития, связи и массовых коммуникаций РФ в двух наиболее часто используемых форматах хранилища доверенных сертификатов (далее truststore):

НазваниеДата публикации
russian-trusted-cacert.pem23 марта 2023
russian-trusted-cacert.jks23 марта 2023

В зависимости от ПО, используемого для взаимодействия со шлюзом API, в параметрах подключения к шлюзу API Сбера укажите один из приложенный файлов в качестве truststore.

Если вы хотите добавить сертификаты шлюзов API Сбербанка из приложенного файла в ваш существующий truststore, выполните команду:

cat russian-trusted-cacert.pem >> truststore

trsuststore – имя вашего существующего файла со списком доверенных сертификатов.

​​

Проверяем параметры взаимодействия со шлюзом API

Демонстрационный API позволяет подключиться к API в роли потребителя и протестировать подключение к платформе SberAPI.

Демонстрационный API доступен для подписки всем организациям на портале api.developer.sber.ru без заключения дополнительного договора.

Адрес вызова демонстрационного API, метод проверки подключения:

GET https://mc.api.sberbank.ru/prod/demo/json/v1/connectInfo

Значение scope для получение токена авторизации: auth://demo/json.

Описание атрибутов:

НаименованиеОписание
RqUIDУникальный идентификатор сообщения.
Обязательный параметр.
• Размещение: HTTP-заголовок.
• Тип данных: string.
• Количество символов: 32.
• pattern: ^[0-9a-fA-F]{32}$.
• Пример: 0123456789ABCDEF0123456789ABCDEF
paramNameПростой строковый параметр запроса.
Обязательный параметр.
• Размещение: query.
• Допустимые значения: aDF98YTaDF98YTaDF98Y или MaH98GFMaH98GFMaH98G.

​​ Получение токена:

curl --location --request POST 'https://mc.api.sberbank.ru:443/prod/tokens/v3/oauth' \
--header 'RqUID: <значение, удовлетворяющее паттерну ^[0-9a-fA-F]{32}$>' \
--header 'Authorization: Basic <закодированное в base64 значение client_id:client_secret>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'scope=auth://demo/json' \
--cert-type P12 --cert {путь до контейнера p12}:{пароль от контейнера} \
--cacert russian-trusted-cacert.pem

Тестовый бизнес-запрос:

curl --location --request GET 'https://mc.api.sberbank.ru:443/prod/demo/json/v1/connectInfo?paramName=MaH98GFMaH98GFMaH98G' \
--header 'RqUID: <значение, удовлетворяющее паттерну ^[0-9a-fA-F]{32}$>' \
--header 'Authorization: Bearer <access_token> ' \
--cert-type P12 --cert {путь до контейнера p12}:{пароль от контейнера} \
--cacert russian-trusted-cacert.pem

Пример ответа:

{
"RqUID": "0123456789ABCDEF0123456789ABCDEF",
"paramName": "MaH98GFMaH98GFMaH98G",
"clientId": "f1111b1f-11fc-1f1d-a1b1-e11111ae1111",
"clientCertFingerprint": "4vbnm11b064e111c7qqq27e7cb40www3f3a9ii3c",
"clientSerialNumber": "111CE1A111F117B1111FD1111E1DD1E11C1BC111",
"xSubject": "CN=f3875b8f-23fc-4f3d-a0b8-e44237ae3756,O=SberApiTesting"
}
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.