Односторонний обмен 1С с API банковской системы — разработка в условиях отсутствия документации

24.03.26

Администрирование - Информационная безопасность

Банковские системы популярны для обмена с 1С. Существует типовое решение, присутствующее в большей части конфигураций 1С – «1С: ДиректБанк», однако оно не всегда соответствует потребностям бизнеса. Расскажем про некоторые особенности разработки, с которыми мы столкнулись при создании «индивидуального» обмена 1С с API банка.

При подключении опции обмена в «1С: ДиректБанк» нет возможности выбрать только получение данных из банка, обязательно автоматически подключается возможность отправки и проведения финансовых операций. Такой подход категорически не подходил заказчику: требовалось лишь получать выписки с сервера банка без возможности двустороннего взаимодействия. Поэтому был рассмотрен вариант реализации одностороннего обмена через API с помощью регламентного задания.
 

При отсутствии документации API — поможет Postman

 

Первое, с чем мы столкнулись еще до начала разработки, это отсутствие документации для методов API — сервис был совсем свежий, и еще не было кейсов его интеграции с 1С.

Нам была предоставлена спецификация для API в формате YAML — описание конечных точек с параметрами, типами данных и возвращаемыми значениями. Для работы с ней мы использовали Postman, который позволяет на основе файла YAML создать удобную для чтения коллекцию методов API с возможностью генерации кода запросов на разных языках программирования.
 


Postman — инструмент, предназначенный специально для тестирования и разработки API

 

Для первого подключения и получения ключа авторизации были выданы отдельные инструкции в текстовой форме, поэтому тестовые запросы для проверки канала отправляем с помощью cURL.
 


Экспорт Postman запроса в cUrl

 

Postman также позволяет выбрать клиентский сертификат для отправки запроса, что было актуально в нашем случае, так как API работает по протоколу mTLS.

 

Настраиваем криптографию: mTLS, «КриптоПро», ViPNet

 

Следующая задача, которую надо было решить — реализовать особый подход к безопасности API банка. Вместо обычного TLS он работает на протоколе mTLS — при таком варианте для подключения и отправки запросов кроме серверного сертификата требуется также и клиентский. Сертификаты, используемые для подключения, должны быть нового формата ГОСТ-2012, который 1С не поддерживает без установки криптопровайдера.

Помимо этого, для верификации запросов механизм банка предполагал в заголовок запроса прикладывать открепленную подпись тела в формате CAdES-X Long Type 1. Данный формат 1С также не поддерживает, и для работы с ним необходимы внешние программы.
 


Типовой менеджер криптографии не поддерживает формат
CAdES-X Long Type 1

 

Для работы с API предполагалось использовать «КриптоПро», все сертификаты подключения банка выпущены именно под этот криптопровайдер. Для подписания документов «КриптоПро» также предоставляет утилиту командной строки cryptcp.exe, которая может быть использована из 1С и поддерживает нужный формат подписи.

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

Доступным и бесплатным аналогом «КриптоПро», который поддерживает работу с 1С, является ViPNet. Но, повторимся, все сертификаты безопасности банка были выпущены для работы с «КриптоПро» и не могут быть установлены с помощью ViPNet. Решение нашлось на партнерском форуме 1С: Gost PEM Extractor — бесплатный аналог P12FromGostCSP для извлечения сертификата и ключа в PEM формате из ГОСТ-контейнера.
 


Gost PEM Extractor в 
Docker-контейнере

 

После этого осталось разобраться с форматом подписи для тела запросов. ViPNet не предоставляет приложение командной строки для работы с криптографией, так что в распоряжении у нас остались лишь типовые возможности платформы 1С. Здесь на помощь пришли разработчики API банка, разрешив нам использование стандартного формата подписи с меткой времени CAdES -T.
 

Работа с электронной подписью: иногда не обойтись без человека

Мы успешно протестировали механизм решения на тестовом контуре API банка. Однако при переходе на рабочий контур возник ещё один нюанс — необходимость использовать квалифицированную электронную подпись вместо неквалифицированной. УКЭП предполагает бОльшую юридическую силу, чем УНЭП, и, соответственно, бОльшую опасность при утечке доступа. Оставлять квалифицированную подпись вместе с паролем на сервере организации для использования регламентным заданием было нельзя, слишком большая брешь в безопасности.

Было принято решение пересмотреть алгоритм механизма обмена и добавить возможность подписания запросов с локальных машин при физическом присутствии пользователя. Такой подход, конечно, замедляет время получения выписок и требует действий пользователя, однако позволяет избежать проблем с безопасностью.

 

***

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

Вступайте в нашу телеграмм-группу Инфостарт

обмен с банком Postman КриптоПро ViPNet YAML  cURL

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Информационная безопасность Чистка данных Системный администратор Разработчик Руководитель проекта 1С 8.3 1С:Бухгалтерия 3.0 Платные (руб)

Обезличивает копию рабочей базы 1С перед передачей наружу и возвращает настоящие данные обратно, когда база вернулась. Это обратимая псевдонимизация: соответствия «исходное - псевдоним» пишутся в отдельный зашифрованный датасет, который остаётся у владельца. Работает на любой конфигурации - обходит метаданные и находит персональные данные сам, без списка реквизитов под конкретную базу. Суммы, количества, даты и номера документов не трогает никогда, оборотно-сальдовая до и после совпадает до копейки. Проверено на трёх конфигурациях: 106 031 объект, 215 642 замены, ноль ошибок, возврат 100 процентов.

42700 руб.

18.08.2026    1597    4    0    

3

WEB-интеграция Разработчик Аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

17568 руб.

20.12.2024    7803    35    4    

35

Сайты и интернет-магазины WEB-интеграция Системный администратор Разработчик Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM / LOGICSTARS. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM / LOGICSTAR разных брендов в одной информационной базе в ручном и автоматическом режиме.

42700 руб.

03.08.2020    25876    42    26    

30

Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Разработчик Аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)

Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.

6000 руб.

15.04.2026    4241    12    0    

25

WEB-интеграция Системный администратор Разработчик Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена по API между конфигурацией 1С:Альфа-Авто 6 и порталом LogicStar. Позволяет работать с несколькими обменами LogicStars разных брендов (CHERY, OMODA, JAECOO, EXEED, TENET) в одной информационной базе в ручном и автоматическом режиме. Поддерживается выгрузка заказ-нарядов, реализаций товаров и товарных остатков.

20740 руб.

13.05.2025    3101    6    0    

8

WEB-интеграция Разработчик Пользователь 1С:Предприятие 8 1C:Бухгалтерия Управленческий учет Платные (руб)

Хорошая основа вашего решения импорта данных статистики Яндекс.Метрики в информационную базу 1С. Получение счетчиков, запрос статистики, получение данных - все в одной обработке.

5094 руб.

21.06.2022    11444    12    0    

13
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. vladimir_korshun 97 25.03.26 09:13 Сейчас в теме
А где можно скачать вашу разработку?
2. 1c-izh 181 25.03.26 10:44 Сейчас в теме
(1) к сожалению, свободно распространять её не можем.
Для отправки сообщения требуется регистрация/авторизация