С первых строчек сразу придется огорчить читателей: цивилизация так и не шагнула навстречу возможно не очень многочисленным, но существующим в Беларуси предпринимателям и организациям, использующим для своей работы ОС (операционная система) на базе Linux. Все равно придется иметь дело с "операционкой" семейства Windows. Но зато работать придется в эмуляторе (виртуальной машине - далее ВМ или VM) без разбиения дисков на дополнительные разделы, без установки Windows и дальнейших перезагрузок из одной ОС в другую.

Задача запустить работу Авеста в Linux не новая, возникла достаточно давно. Но однозначного решения с ходу найти не удалось. Суть проблемы в том, что для владельцев Линукс-систем просто не предложено альтернатив и иных вариантов. Ни в технической поддержке ЗАО "Авест", ни ИТ-шники в банках, налоговой, фонде социальной защиты населения, где используется криптографическое ПО Авест, не могут ничего ответить по поводу настройки и работы средств электронно-цифровой подписи (далее - ЭЦП) в Linux-системах.

Все рекомендации ограничиваются тем, что в самой организации будет предусмотрено рабочее место, с которого можно отправить "платежку", подать декларацию или отчет сотруднику, находящемуся в 2-3 метрах за дверью. Как можно это называть системой дистанционного обслуживания клиентов, если придется все равно приезжать и пользоваться этой системой с "дистанции" в 1-3 метра до нужного сотрудника? Выглядит, мягко говоря, весьма нелогично. Особенно, учитывая необходимость платной регистрации или ежемесячного внесения абонентской платы.

Не добавляет оптимизма и информация на сайте разработчика криптографического ПО в лице ЗАО "Авест" (с сайта компании www.avest.by):

Криптопровайдер AVEST CSP - расширение криптографического ядра системы Microsoft Windows (разработанное в соответствии со спецификацией Microsoft Crypto API), которое позволяет использовать криптографические алгоритмы сертифицированные Государственным Центром Безопасности Информации при Президенте Республики Беларусь (ГЦБИ) всем приложениям Microsoft Windows. В настоящее время криптопровайдер AVEST CSP - единственный криптопровайдер в Республике Беларусь.

И вот:

В марте 2004 года завершена сертификация криптопровайдера AVEST CSP на соответствие национальному стандарту СТБ, что позволяет использовать его в соответствии с Законом РБ "Об электронном документе" для оформления любых юридических и хозяйственных действий в Республике Беларусь электронным способом.

Если кратко - в Линукс Авест не работает и, вероятнее всего, не будет. Значит, стоит задача как-то проблему побороть и "с этим жить". Побороть хотя бы с помощью "костылей" в виде Виртуальной машины.

Ниже приводится готовый короткий алгоритм действий по установке Avest в виртуальной машине. Статья будет полезна как тем, кто использует в свой работе ОС Linux, так и для тех, кто работает в ВМ с Windows-системами (да-да, иногда, например, по требованиям безопасности бывает в этом необходимость).

Oracle VM VirtualBox

VirtualBox

Сначала выбираем простую и популярную виртуальную машину. Выбор пал на Oracle VirtualBox - ВМ популярна в народе, бесплатная, простая и более-менее стабильная в работе. А Гугл подсказал, что в VirtualBox возможно удастья работать с USB-ключами AvToken.

Заходим на сайт и качаем последнюю версию VirtualBox (на момент написания статьи версия 5.1.30). У кого версия даже 3-4 месячной давности, тем лучше тоже обновиться. Заходим на страницу загрузки и выбираем сборку под свой дистрибутив. В нашем случае это сборка для Ubuntu 16.04, т.к. у нас в работе используется сборка Linux Mint 18.2 Sonya (согласно таблице).

Также понадобится пакет расшиений Oracle VM VirtualBox Extension Pack, без которого не получится полноценно запустить работу USB 2.0 и USB 3.0. Качаем пакет, запускаем и устанавливаем. Все просто.

Настройка прав доступа в Ubuntu Linux и подобных системах

После всех манипуляций и установки ВиртуалБокса + пакета расширений, нужно в самой операционной системе зайти в "Параметры пользователей" - "Управление группами" и проверить, включен ли текущий пользователь в группу "vboxusers". Если не включен, пользователя необходимо туда добавить. Т.е. в свойствах группы "vboxusers" должен появится текущий пользователь.

параметры пользователей

параметры групп

свойства группы vboxusers

привилегии

Далее необходимо изменить привилегии текущего пользователя как-то так, как показано на картинке выше (проверить наличие галок напротив пунктов "Автоматический доступ к внешним носителям" и "Виртуализация VirtualBox"). На этом настройка закончена.

Проверка работы Avest и ключей AvToken в виртуальной машине

Переазпускаем полностью VirtualBox (а еще лучше перезагрузить компьютер, хотя пользователи Linux из-за такого совета могут быть возмущены). Запускаем VirtualBox, заходим в параметры USB и включаем контроллер USB 2.0 (EHCI). После этого добавляем устройство - Avest AvToken (USB-ключ должен быть уже виден).

VirtualBox USB 2.0

Затем уже работаем в виртуальной машине, никаких особенностей в работе и настройке по сравнению с реальным компьютером под управлением ОС Windows быть не должно. Т.о., далее переходим к установке и настройке криптографического ПО и регистрации в системе Интернет-клиент банка или другом ПО. Для работы в ВМ была выбрана ОС Windows 7 и в ней протестирована работа ЭЦП Avest. Выбор между 32-х разрядной или 64-х ОС не принципиален. По опыту работы хочется заметить, что с 32-х разрядными системами было меньше проблем из-за наличия в 64-х битной Windows двух версий Internet Explorer-а (но это уже вопросы не к операционной системе, а к разработчикам белорусских личных кабинетов, порталов, ЭСЧФ и т.п.).

Работа ПО Avest и ключей AvToken в виртуальной машине Virtual Box на MacOS

Установка и настройка виртуальной машины VirtualBox, подключение USB-ключа AvToken и все остальное - полностью аналогично описанному выше для системы Ubuntu Linux. Кроме одного пункта - кроме настройки прав доступа. Других трудностей или особенностей возникать не должно.

Успехов!


Комментарии
  • Sargon
    Ребята, а подскажите есть где какие примеры как работать с SDK авеста в Windows, софт десктопный на C++ у меня, начальство жмет, делай мол, а инфы нету. Может кто что подскажет?
     Sargon
    ,
     год назад
    • ИТ - Специалист
      К сожалению, ничем в данном вопросе помочь не могу. А пробовали общаться с самими Avest-овцами?
       ИТ - Специалист
      ,
       4 месяца назад
    • alexshin
      Может были эксперименты с Windows Server Core в гостевой машинке?

      Думаю над парой стартапов, упрощающих жизнь белорусов, но нигде не могу найти информацию как победить уродскую работу с ЭЦП. Недавно помогал с проектом казахам, там у них все достаточно просто - всем кто хочет работать с ЭЦП может поставить небольшого демона на JVM, который поднимает web-socket сервер локально на нестандартном порту, а все что нужно, чтобы подписать документ - это просто отправить его по протоколу websocket (поддерживается во всех браузерах) на localhost:port, а там уже аппликуха покажет окно с сертификатами и кредами для их расшифровки и т.д. Удивительно что ничего подобного белорусы не осилили.
       alexshin
      ,
       год назад
      • ИТ - Специалист
        Экспериментов с Windows Server Core не было. А вот работать с ЭЦП неВэксплорере научились уже авторы Авеста (тоже крутиться что-то типа локального агента-сервера для обработки запросов в памяти), но все равно работа ведется только в Windows :(
         ИТ - Специалист
        ,
         4 месяца назад
      • GilMoR
        Спасибо ОГРОМНОЕ! Завтра же попробую.
         GilMoR
        ,
         год назад
        • Alex
          Спасибо, друг :)
           Alex
          ,
           год назад
          • Dmitrij Sheremetjev
            Кстати, это же и решение проблемы "кровной вражды" между собой разных версий Авеста - когда версия от налоговой конфликтует с версией от банка, которая конфликтует с версией от ФСЗН, которая конфликтует со всем остальным миром... Выход простой: разворачиваем на клиентской машине по одной виртуалке машине под каждый ключ и наслаждаемся победой над маразмом и кривыми руками ПВТ-шных девелоперов.
            Правда есть вероятность, что тёти-бухгалтеры немножко умом тронутся когда увидят в окошке винды еще одну винду. А то и не одну... ;-)
             Dmitrij Sheremetjev
            ,
             год назад
            • ubuntoid
              Спасибо! Приятно увидеть, что линуксоиды не перевелись, тем более -- познакомиться с работоспособным рецептом!
               ubuntoid
              ,
               год назад
              • ИТ - Специалист
                Всегда пожалуйста! :)
                 ИТ - Специалист
                ,
                 год назад
                • mike
                  Ох, спасибо, хороший человек, я уж думал, не судьба на убунте сидеть)
                   mike
                  ,
                   год назад