С первых строчек сразу придется огорчить читателей: цивилизация так и не шагнула навстречу возможно не очень многочисленным, но существующим в Беларуси предпринимателям и организациям, использующим для своей работы ОС (операционная система) на базе 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
Сначала выбираем простую и популярную виртуальную машину. Выбор пал на 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" должен появится текущий пользователь.
Далее необходимо изменить привилегии текущего пользователя как-то так, как показано на картинке выше (проверить наличие галок напротив пунктов "Автоматический доступ к внешним носителям" и "Виртуализация VirtualBox"). На этом настройка закончена.
Проверка работы Avest и ключей AvToken в виртуальной машине
Переазпускаем полностью VirtualBox (а еще лучше перезагрузить компьютер, хотя пользователи Linux из-за такого совета могут быть возмущены). Запускаем VirtualBox, заходим в параметры USB и включаем контроллер USB 2.0 (EHCI). После этого добавляем устройство - Avest AvToken (USB-ключ должен быть уже виден).
Затем уже работаем в виртуальной машине, никаких особенностей в работе и настройке по сравнению с реальным компьютером под управлением ОС Windows быть не должно. Т.о., далее переходим к установке и настройке криптографического ПО и регистрации в системе Интернет-клиент банка или другом ПО. Для работы в ВМ была выбрана ОС Windows 7 и в ней протестирована работа ЭЦП Avest. Выбор между 32-х разрядной или 64-х ОС не принципиален. По опыту работы хочется заметить, что с 32-х разрядными системами было меньше проблем из-за наличия в 64-х битной Windows двух версий Internet Explorer-а (но это уже вопросы не к операционной системе, а к разработчикам белорусских личных кабинетов, порталов, ЭСЧФ и т.п.).
Работа ПО Avest и ключей AvToken в виртуальной машине Virtual Box на MacOS
Установка и настройка виртуальной машины VirtualBox, подключение USB-ключа AvToken и все остальное - полностью аналогично описанному выше для системы Ubuntu Linux. Кроме одного пункта - кроме настройки прав доступа. Других трудностей или особенностей возникать не должно.
Успехов!
Комментарии
Думаю над парой стартапов, упрощающих жизнь белорусов, но нигде не могу найти информацию как победить уродскую работу с ЭЦП. Недавно помогал с проектом казахам, там у них все достаточно просто - всем кто хочет работать с ЭЦП может поставить небольшого демона на JVM, который поднимает web-socket сервер локально на нестандартном порту, а все что нужно, чтобы подписать документ - это просто отправить его по протоколу websocket (поддерживается во всех браузерах) на localhost:port, а там уже аппликуха покажет окно с сертификатами и кредами для их расшифровки и т.д. Удивительно что ничего подобного белорусы не осилили.
Правда есть вероятность, что тёти-бухгалтеры немножко умом тронутся когда увидят в окошке винды еще одну винду. А то и не одну... ;-)