Skip to content

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

License

Notifications You must be signed in to change notification settings

diev/Verba-OW-Automation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build status GitHub Release

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

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

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

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

  • Никакое стороннее ПО, недоверенные бинарные модули, лицензии на разработку и встраивание.
  • 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 в папке posh.

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

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

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

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

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

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

Это готовый wrapper для запуска функций DLL из любого языка .NET или просто из командной строки cmd - этот вариант сейчас развивается больше всего.

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

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

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

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

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