Поддержка ключей HASP в Wine
Ситуация по поддержке ключей HASP в Wine неоднозначна из-за одновременного сосуществования различных поколений ключей, а скорее драйверов к ним, разными способами использования ключей в программах. Встречаются ключи
- HASP 3 (LPT) сетевые и локальные
- HASP 4 (USB) сетевые и локальные
- HASP HL (USB) сетевые и локальные
Поколение HASP SRM с интересующей нас точки зрения отличается только другими драйверами и менеджером лицензий, существенно переписанной схемой взаимодействия.
Содержание
[убрать]Ситуация по поколениям ключей
HASP HL
Поддержка платформы Linux у ключей HASP имеется давно и в полном объёме. Раньше ситуацию немного омрачали LPT-ключи, которым требовалось компилировать модуль ядра, сейчас такие ключи становятся менее актуальны, да и сборка модуля ядра максимально упрощена. Поддержка платформы Mac OS нас пока не интересует, а поддержка FreeBSD до сих пор так и не появилась, несмотря на многочисленные просьбы.
При запуске программ в Wine под Linux появляются проблемы, связанные с тем, что драйверы устройств в него до недавнего времени нельзя было загрузить.
С поддержкой сетевых ключей HASP 4/HL проблем не было никаких, поскольку имеется драйвер ключа и менеджер лицензий, запускаемый в Linux, слушающий порт UDP/475, к которому можно обратиться из Wine или Windows. Странным является только то, что в Windows менеджер лицензий слушает порт TCP/475. Зачем сделано отличие, не ясно, но оно неплохо вносит сумятицу.
HASP SRM
И в Windows, и в Linux на TCP/1947 работает веб-интерфейс. По умолчанию доступ к нему разрешён только с машины, на которой он запущен. В Linux защищённая программа взаимодействует с демоном hasplmd, в Windows - со службой hasplms (HASP License Manager). Работа и с сетевым, и с локальным ключами происходит через локальный демон или службу по TCP/1947. Сетевой ключ, установленный на Linux-машине, позволяет работать с защищёнными программами на Windows-машине, и наоборот. Взаимодействие между различными машинами по сети происходит по TCP/1947 и по UDP с использованием порта 1947 и ещё одного порта, номер которого меняется при перезапуске демона.
В WINE защищённые программы не работают. По-видимому, это связано с тем, что Linux-программа и работающая в WINE Windows-программа сообщают различную информацию о машине, на которой они работают. Количество драйверов, необходимых для работы с ключом в Windows, увеличилось по сравнению с HASP HL, что не упрощает реализацию их поддержки в WINE.
Ситуация по популярным программам
1С:Предприятие 7.7
1С:Предприятие 8.х
В 2005 году Etersoft совместно с LinuxCenter обратились в Аладдин с предложением наладить работу локальных ключей HASP. Решение вышло не универсальным и по какой-то причине применяется только компанией 1С. В драйвера HASP HL начиная с версии API 1.12 добавлена проверка на запущенность в Wine и обращение при этом производится на localhost по порту UDP/2790.
КОМПАС v.10
Используется HASP HL без поддержки Wine.
КОМПАС v.11
Используется HASP SRM.