Verba-OW-Automation

Скрипты автоматизации ПО Верба-OW: cmd + PowerShell + C# + DLL


Проект развивает Дмитрий Евдокимов Размещается на GitHub

Verba-OW-Automation

Build status GitHub Release

Скрипты автоматизации ПО Верба-OW.
Не встраивание, а именно скрипты - с открытым кодом. Без постороннего ПО. Это важно.

Что требуется

  • Установленное ПО Верба-OW. Банкам предоставляется Банком России. Можно купить отдельно, как и штатный модуль командной строки, у производителя (но не банкам). Бывает в том или ином виде в составе разных Интернет-Банков и клиентов бирж, где его можно скачать. Свободно не распространяется, так как для установки требует именную лицензию и учет распространения, а также ключи.
  • Из этого ПО для взаимодействия требуется только библиотека wbotho.dll.
  • Установленный PowerShell минимальной версии 2.0, поскольку он для Windows XP годится и является штатным компонентом для систем выше.
  • Установленный .NET минимальной версии 3.5, поскольку он является штатным компонентом всех систем Windows и потому все еще поддерживается производителем. Именно на языке C# версии 3.5 написан код Verba.cs. Но можно использовать и дополнительно устанавливаемый .NET версии 4.0 (последний для Windows XP) или любой другой выше.

Что не требуется

  • Никакое стороннее ПО, недоверенные бинарные модули, лицензии на разработку и встраивание.
  • SDK и документы с грифом ДСП.
  • Wftesto - скомпилированный EXE из состава SDK Верба-OW, приведенный там лишь в качестве примера вызова функций из библиотеки wbotho.dll, содержащий неточности и не предназначенный для промышленного применения.
  • Vb (VbO) - исполняемый модуль командной строки от создателей Верба-W/OW, но против покупки и использования которого Банк России.
  • Visual Studio - прилагаемый здесь в папке vs проект служит лишь для удобства написания программных текстов в нем и проверки их запускаемости. Эти тексты можно написать в любом подручном редакторе и проверить с помощью системных компиляторов csc из состава установленных библиотек .NET. Примеры их использования есть в папке test:
    • csc.cmd - для .NET 3.5
    • csc4.cmd - для .NET 4+
  • Знания C# свежее 2008 года - скрипт на PowerShell будет использовать тот .NET, который установлен в Вашей системе. Если он там версии 3.5, например, то и набранный в редакторе текст не должен содержать те нововведения языка C#, которые умеет применять Visual Studio наших дней.
  • Знания, как запускать PowerShell - используйте run.cmd в папке samples/posh (или см. папку samples/cmd).

Как использовать

Написать какой-либо свой обработчик массы файлов, требующих обработки с помощью ПО Верба-OW, на любом скриптовом языке типа PowerShell, CMD, JScript или HTA и запускать функции из файла Verba.cs (в папке verba) или так, как показано в примерах в samples. Никакого постороннего ПО или недоверенных бинарных модулей не требуется.

В папке work собраны некоторые скрипты обработки обмена ПТК ПСД.

В отличие от штатного АРМ РМП можно использовать несколько загруженных в память драйвера ключей одновременно, убрав при этом ключевые носители после загрузки с них. Для этого надо лишь сформировать штатными средствами общий справочник, как показано в папке pub.

Для проверки функционирования скриптов можно использовать как запускаемый PowerShell скриптовый код на языке C#, так и скомпилированный под Ваш .NET VerbaTest.exe. Синтаксис команд у него почти такой же, как у общеизвестной программы Wftesto.exe. Сделаны лишь несколько улучшений:

  • возврат кода 0 (успешно) или 1 (были ошибки);
  • очистка всех слотов в драйвере разом (команда r без параметров);
  • добавлены функции по работе с подписями в отдельном файле.

Это готовый wrapper для запуска функций DLL из любого языка .NET.

Благодарности

Спасибо всем, чьи идеи мне удалось встретить на форуме BANKIR.RU на стыке Автоматизации и ИБ.

Лицензионное соглашение

Licensed under the Apache License, Version 2.0.
Вы можете использовать этот код совершенно свободно без всяких ограничений с моей стороны и без претензий с Вашей.

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

Скачать

Релиз Скачать Дата