Приступая к работе

Банк может изменять реквизитный состав возвращаемой информации, добавлять новые необязательные элементы.
Партнёр должен это учитывать и в своих имплементациях корректно реагировать на появление новых атрибутов в REST сервисах SberBusinessAPI.

SberBusinessAPI

  • SberBusinessAPI предназначен для работы с данными корпоративных клиентов ПАО Сбербанк.
  • SberBusinessAPI реализован на базе протокола авторизации OAuth 2.0.
  • Доступ Партнеров/Клиентов к SberBusinessAPI осуществляется после проведения процедур настройки на стороне Банка.
  • Для подключения необходимо направить заявку в свободной форме (ИНН и название организации, сайт, если есть, свои контакты или контакты Вашего клиентского менеджера) на адрес электронной почты fintech_API@sberbank.ru.
  • Подключение к SberBusinessAPI осуществляется на платной основе, на основе заявки будет рассчитана стоимость подключения.

Взаимодействие происходит посредством REST-запросов к определенным методам SberBusinessAPI.
Для организации взаимодействия необходимо выполнить доработку Вашей системы в соответствии со спецификацией SberBusinessAPI.

Для доступа к методам SberBusinessAPI требуется использовать TLS-сертификат, изданный банком (необходимость использования TLS-сертификата см. Технические данные).

Получение клиентского TLS сертификата

После выпуска, сертификат будет добавлен в белый список и привязан к сервису. Запросы, отправленные под иным TLS-сертификатом, не будут валидными.

Формирование запроса на сертификат

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

  1. Войти в Windows с правами локального администратора.
  2. На рабочем столе Windows нажать кнопку «Пуск».
  3. В строке поиска ввести «certmgr.msc».
  4. Нажать на найденную программу в верхней части окна.
  5. В открывшейся оснастке перейти в папку «Личное».
  6. На элемент «Сертификаты» нажать правой кнопкой мыши.
  7. В открывшемся меню выбрать Все задачи/Дополнительные операции/Создать настраиваемый запрос.
  8. В окне «Перед началом работы» нажать кнопку Далее.
  9. В окне «Выбор политики регистрации сертификатов» необходимо выбрать пункт «Продолжить без политики регистрации» и нажать кнопку Далее.
  10. В окне «Пользовательский запрос» выбрать шаблон «Старый ключ (без шаблона)», указать формат запроса «PKCS#10». Нажать кнопку Далее.
  11. В окне «Сведения о сертификате» необходимо нажать на стрелку рядом с полем «Подробности».
  12. В появившемся блоке необходимо нажать кнопку Свойства.

cert-info.msc

  1. В окне «Свойства сертификата» необходимо заполнить атрибуты запроса на сертификат согласно требованиям УЦ, предъявляемым к запросам на TLS сертификат.

Все атрибуты должны заполняться только латинскими буквами.

На вкладке «Общие», в поле «Понятное имя» ввести удобное для пользователя название сертификата.

  1. На вкладке «Субъект» требуется заполнить следующие атрибуты:
Атрибут Значение
«Общее имя» (Common Name) Атрибут должен заполняться по шаблону: FINTECH+[KeyNum], где
[KeyNum] – номер ключа от 01 до 99, который должен быть уникален для каждого запроса на сертификат.
То есть при формировании первого запроса на сертификат пользователь должен указать номер ключа «01», при выпуске следующего запроса указать «02» и т.д.

Пример правильного значения поля: FINTECH01
«Электронная почта» (E-mail) В поле должен указываться действующий электронный адрес сотрудника на стороне клиента, который отвечает за получение TLS сертификатов из УЦ Сбербанка
«Страна» (Country/Region) В поле должен указываться двухбуквенный код страны. Код страны можно узнать в открытых источниках в сети Интернет
«Организация» (Company) В поле должно указываться наименование организации латинскими буквами
«Подразделение» (Organizational Unit) ИНН организации

В блоке «Имя субъекта» необходимо по очереди выбирать названия нужных атрибутов в ниспадающем списке «Тип», вводить значение атрибута в поле «Значение», а затем нажать кнопку Добавить .

Ниже представлен пример заполнения атрибутов сертификата:

cert-attr.msc

  1. На вкладке «Расширения» необходимо в разделе «Использование ключа» добавить элементы «Шифрование данных» и «Цифровая подпись».
  2. В разделе «Расширенное использование ключа (политики применения)» добавить элемент «Проверка подлинности клиента».
  3. На вкладке «Закрытый ключ» в разделе «Поставщик службы шифрования» необходимо выбрать элемент «Microsoft RSA SChannel Cryptographic Provider (Шифрование)».
  4. В разделе «Параметры ключа» установить «Размер ключа» равный 2048 и параметр «Сделать закрытый ключ экспортируемым».
  5. После установки всех параметров нажать кнопку ОК.
  6. В окне «Сведения о сертификате» нажать кнопку Далее.
  7. В окне «Где вы хотите сохранить автономный запрос?» необходимо:

    • в поле «Имя файла» указать имя файла, в который будет сохранен запрос на сертификат,
    • выбрать формат файла «Base64» (выделено красным цветом),
    • нажать кнопку Готово.

Окно регистрации сертификата будет закрыто, а система сформирует файл с запросом, с именем файла указанном на предыдущем шаге.

Далее пользователю необходимо файл с запросом на сертификат передать своему куратору в Сбербанке, для отправки в УЦ Сбербанка и получения клиентского TLS сертификата.

Установка сертификата

После того, как УЦ выпустит TLS сертификат, необходимо:

  1. Получить сертификат у своего куратора в Сбербанке.
  2. Установить цепочку доверенных сертификатов Сбербанка (если их еще нет) в каталог «Доверенные корневые центры сертификации».
  3. Установить TLS сертификат (в каталог «Личные») на том же компьютере и под тем же пользователем, под которыми создавался запрос на этот сертификат.

Примеры тестовых сертификатов

Генерацию запроса на создание сертификата необходимо выполнить от имени одного конкретного пользователя на одном ПК.
После издания банком сертификата его необходимо добавить на пк, на котором формировался запрос.
Изданный ключ и сертификат можно выгрузить в виде файла контейнера, защищенного паролем, и перенести на другой пк.

Для OS Linux

В OS Windows файл контейнера сертификата имеет формат «.pfx».
Для корректной работы в OS Linux конвертировать в более подходящий для системы формат (.pem) с помощью openssl.

Команды openssl для конвертации:

To convert a PFX file to a PEM file that contains both the certificate and private key, the following command needs to be used:
# openssl pkcs12 -in filename.pfx -out cert.pem -nodes

Conversion to separate PEM files
We can extract the private key form a PFX to a PEM file with this command:
# openssl pkcs12 -in filename.pfx -nocerts -out key.pem

Exporting the certificate only:

# openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem

Проверка сертификата

Для проверки TLS сертификата (тест/пром), необходимо перейти по соответствующим ссылкам:

Тестовый swagger:
https://edupirfintech.sberbank.ru:9443/fintech/api/swagger-ui.html

Промышленный swagger:
https://fintech.sberbank.ru:9443/fintech/api/swagger-ui.html

При переходе на ресурс запрашивается TLS сертификат. Если сертификат не установлен или установлен некорректно, то возникнет ошибка.

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней