15 апреля, четверг 02:07
Bankir.Ru

Объявление

Свернуть
Пока нет объявлений.

РМП Верба. Автоматизация 365-П и 311-П

Свернуть
X
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • РМП Верба. Автоматизация 365-П и 311-П

    Была поставлена задача автоматизировать подпись и расшифровку 365-П и 311-П через РМП Верба.

    Ни SDK, ни Vb.exe, ни ScSignEx нет. Исследования показали, что Верба может автоматом грузить ключ, который был использован последним, если включена настройка автоматической загрузки ключей. Значит ей надо как-то сообщить о "смене" этого последнего ключа.
    Настройку автозагрузки ключа и букву привода (у нас 2 дисковода А и В, в которые вставлены ключи на подпись и ключ на шифрование) Верба хранит в INI файле в каталоге пользователя ...\Application Data\MDPREI\РМП Верба-OW\FcolseOW.ini. Там есть и настройка автозагрузки ключей.
    Таким образом, если скриптом менять содержимое ini файла, то Верба будет сама автоматом подгружать нужный ключ. Дальше дело техники - формировать скрипты для Вербы (стр. 85 описания Вербы).

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

    Общий скрипт около 300 строк написан на Ruby. Сейчас скрипт умеет следить за каталогами с приходящими архивами решений, разархивирует их, расшифровывает решения, сообщает о них по электронной почте, следит за появлением ответов по 365-П и сообщений по 311-П, подписывает, шифрует, упаковывает с правильными именами, о чем также сообщает по электронной почте.
    Auto_CB_MIFNS_for_bankir.zip

  • #2
    Для работы Ruby понадобится установить его либо скопировать архив и прописать Path. И то и другое можно скачать с http://rubyinstaller.org/downloads/

    Для работы скрипта нужен гем Inifile. Чтобы установить его нужно в командной строке Windows набрать

    gem install inifile

    Комментарий


    • #3
      правильно ли я понимаю, что если у меня в FcolseOW.ini нет секции ['Devices'] и при запуске Вербы я не могу выбрать дисковод "B" т.к. будет ошибка: "отсутствует носитель в считывателе",
      то данный скрипт никак не подойдет. Т.е. представленный способ подходит только при использовании 2-х дисководов и для случая с одним дисководом этот скрипт не адаптируешь?

      Комментарий


      • #4
        Тогда вам необходимо сохранять ключи на жестком диске и каким-либо из способов указанных на форуме загрузить другой ключ.
        Процесс "подсовывания" мной буквы диска и вызов Вербы скрываются за этими строками:

        Код:
            # set correct disk attached to verba
            verba_ini_file = IniFile.new(nil, :filename => VERBAINIFILE)
            verba_ini_file['Loader']['Auto'] = 1
            verba_ini_file['Devices']['Last'] = 'FAT12-B:'
            verba_ini_file.write()
        Т.е. вместо них (всего там 3 таких места) можно написать процесс загрузки соответствующего ключа.
        Следующей строкой указан запуск Вербы

        Код:
            `"#{VERBA}" /@"#{VERBASCRIPTFILE}"`
        то, что находится внутри кавычек ` ` (которые где Ё) отправляется в командную строку windows, после вычисления вычисляемых кавычек, т.е.
        "C:\Program Files\MDPREI\РМП Верба-OW\FcolseOW.exe" /@"c:\Work\tmp.vrb.scr"

        Комментарий


        • #5
          При установки ини файла gem install inifile возникает такая ошибка
          C:\>gem install inifile
          ERROR: Could not find a valid gem 'inifile' (>= 0) in any repository
          ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
          Errno::ECONNREFUSED: ??????????? ?? ???????????, ?.?. ???????? ????????? ?????? ?????? ?? ???????????. - connect(2) (http://
          rubygems.org/latest_specs.4.8.gz). Может кто подскажет??

          Комментарий


          • #6
            Руби не может подключиться к репозиторию, посмотрите настройки прокси и файрвола.

            Комментарий


            • #7
              Сообщение от YuiSe Посмотреть сообщение
              Была поставлена задача автоматизировать подпись и расшифровку 365-П и 311-П через РМП Верба.

              Ни SDK, ни Vb.exe, ни ScSignEx нет. Исследования показали, что Верба может автоматом грузить ключ, который был использован последним, если включена настройка автоматической загрузки ключей. Значит ей надо как-то сообщить о "смене" этого последнего ключа.
              Настройку автозагрузки ключа и букву привода (у нас 2 дисковода А и В, в которые вставлены ключи на подпись и ключ на шифрование) Верба хранит в INI файле в каталоге пользователя ...\Application Data\MDPREI\РМП Верба-OW\FcolseOW.ini. Там есть и настройка автозагрузки ключей.
              Таким образом, если скриптом менять содержимое ini файла, то Верба будет сама автоматом подгружать нужный ключ. Дальше дело техники - формировать скрипты для Вербы (стр. 85 описания Вербы).

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

              Общий скрипт около 300 строк написан на Ruby. Сейчас скрипт умеет следить за каталогами с приходящими архивами решений, разархивирует их, расшифровывает решения, сообщает о них по электронной почте, следит за появлением ответов по 365-П и сообщений по 311-П, подписывает, шифрует, упаковывает с правильными именами, о чем также сообщает по электронной почте.
              [ATTACH]47426[/ATTACH]
              ini лежит и в каьалоге установки, если же изменить букву то ничего не меняется как грузился с последнего так и грузится, как быть?
              Вложения

              Комментарий

              Обработка...
              X