Поддержка ключей HASP в Wine — различия между версиями
(→HASP SRM) |
м (39 версий) |
||
(не показано 30 промежуточных версии 6 участников) | |||
Строка 4: | Строка 4: | ||
* HASP 4 (USB) сетевые и локальные | * HASP 4 (USB) сетевые и локальные | ||
* HASP HL (USB) сетевые и локальные | * HASP HL (USB) сетевые и локальные | ||
+ | * HASP SRM (отличается другими драйверами и менеджером лицензий, существенно переписанной схемой взаимодействия) | ||
− | + | Получить драйверы ключей и менеджер лицензий для Linux и WINE@Etersoft можно [http://wiki.etersoft.ru/HASP здесь], собранные для всех систем. | |
== Ситуация по поколениям ключей == | == Ситуация по поколениям ключей == | ||
− | === HASP HL === | + | === HASP HL === |
− | + | ||
− | + | ||
− | + | ||
− | + | [[Изображение:Hasp hl.png|thumb|right|400px|Схема взаимодействия HASP HL]] | |
− | С поддержкой сетевых ключей HASP 4/HL проблем не было никаких, поскольку имеется драйвер ключа и менеджер лицензий, запускаемый в Linux, слушающий порт UDP/475, | + | Поддержка платформы Linux у ключей HASP имеется давно и в полном объёме. Раньше ситуацию немного омрачали LPT-ключи, которым требовалось компилировать модуль ядра, сейчас такие ключи становятся менее актуальны, да и сборка модуля ядра максимально упрощена в пакете haspd. Поддержка платформы Mac OS нас пока не интересует, а поддержка FreeBSD до сих пор так и не появилась, несмотря на многочисленные просьбы. Та же ситуация и с Solaris. |
− | к которому можно обратиться из Wine или Windows. Странным является только то, что в Windows менеджер лицензий слушает порт TCP/475. Зачем сделано отличие, не ясно, | + | |
− | но оно неплохо вносит сумятицу. | + | Но запуск программ в Wine имеет свою специфику, поскольку программа не может работать с Linux-драйверами ключей. Начиная с WINE@Etersoft 1.0.10 появилась поддержка "родных" Windows-драйверов для HASP 4/HL, что снимает проблему с локальными ключами, которые могут работать только через загруженный в Wine драйвер. |
+ | |||
+ | С поддержкой сетевых ключей HASP 4/HL проблем не было никаких, поскольку имеется драйвер ключа и менеджер лицензий, запускаемый в Linux, слушающий порт UDP/475, к которому можно обратиться из Wine или Windows. Странным является только то, что в Windows менеджер лицензий слушает порт TCP/475. Зачем сделано отличие, не ясно, но оно неплохо вносит сумятицу. | ||
+ | |||
+ | '''В настоящий момент локальные и сетевые ключи HASP HL USB поддерживаются полностью.''' | ||
+ | |||
+ | Драйвер ключа под Linux - aksusbd, менеджер лицензий - hasplm. | ||
+ | |||
+ | WINEHASP. В 2005 году Etersoft совместно с LinuxCenter обратились в Аладдин с предложением наладить работу локальных ключей HASP. Решение планировалось универсальным, но по какой-то причине применяется только компанией 1С в продуктах семейства 1С:Предприятие 8.x. Реализовано решение следующим образом: в Windows-API HASP HL начиная с версии API 1.12 добавлена проверка на запущенность в Wine и обращение при этом производится на localhost по порту UDP/2790 (который слушает процесс winehasp). | ||
=== HASP SRM === | === HASP SRM === | ||
+ | |||
+ | [[Изображение:hasp_srm.png|thumb|right|400px|Схема взаимодействия HASP SRM]] | ||
И в Windows, и в Linux на TCP/1947 работает веб-интерфейс. По умолчанию доступ к нему разрешён только с машины, на которой он запущен. В Linux защищённая программа взаимодействует с демоном hasplmd, в Windows - со службой hasplms (HASP License Manager). Работа и с сетевым, и с локальным ключами происходит через локальный демон или службу по TCP/1947. Сетевой ключ, установленный на Linux-машине, позволяет работать с защищёнными программами на Windows-машине, и наоборот. Взаимодействие между различными машинами по сети происходит по TCP/1947 и по UDP с использованием порта 1947 и ещё одного порта, номер которого меняется при перезапуске демона. | И в 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. | + | В WINE защищённые программы не работают. По-видимому, это связано с тем, что Linux-программа и работающая в WINE Windows-программа сообщают различную информацию о машине, на которой они работают, то есть протоколы локального обмена разные для Windows / Linux. |
+ | |||
+ | Количество драйверов, необходимых для работы с ключом в Windows, увеличилось по сравнению с HASP HL, что не упрощает реализацию их поддержки в WINE@Etersoft. | ||
+ | Для Linux поставляются aksusbd, winehasp под теми же именами, что и прежде, и они совместимы с программами, написанными для HASP HL. Менеджер лицензий называется теперь | ||
+ | hasplmd, и совместимости с предыдущим не имеет. | ||
+ | |||
+ | Странно, что hasp_demo.exe из HASP-SRM-3-50/Windows/Installed/Samples/Runtime/C/win32/msc/dll/ не видит ключ, хотя в идущей рядом hasp_windows_demo.dll проверка | ||
+ | на Wine и код обращения к winehasp имеется. | ||
==Ситуация по популярным программам== | ==Ситуация по популярным программам== | ||
=== 1С:Предприятие 7.7 === | === 1С:Предприятие 7.7 === | ||
+ | Сетевые ключи работают без проблем. Поддержка локальных ключей находится в стадии тестирования. | ||
=== 1С:Предприятие 8.х === | === 1С:Предприятие 8.х === | ||
− | В | + | Для 1С:Предприятия 8.х работают как сетевые, так и локальные ключи. |
− | и по | + | |
− | + | В WINE@Etersoft 1.0.10 и выше по умолчанию локальные ключи работают через драйвера HASP, входящие в состав WINE@Etersoft. | |
+ | |||
+ | '''!!! Обратите внимание !!!''' | ||
+ | '''В некоторых системах возможны проблемы с правами на устройство ключа, тогда нужно в /proc/bus/usb/devices надо найти шину и номер устройства, соответствующие ключу, и поставить права для всех +rw на /dev/bus/usb/номер_шины/номер_устройства.''' | ||
+ | |||
+ | Также локальные ключи могут работать через Linux-сервис winehasp, входящий в состав hapsd. Использование winehasp включается правкой реестра. С помощью regedit нужно импортировать такой файл: | ||
+ | |||
+ | REGEDIT4 | ||
+ | |||
+ | [HKEY_LOCAL_MACHINE\Software\Wine\Wine\Config] | ||
+ | |||
+ | "compat"="yes" | ||
=== КОМПАС v.10 === | === КОМПАС v.10 === | ||
− | Используется HASP HL без поддержки Wine. | + | Используется HASP HL без поддержки Wine. Локальные ключи работают через "родные" Windows-драйвера, поддержка которых встроена, начиная с WINE@Etersoft 1.0.10. Для использования ключа по сети загрузка "родных" Windows-драйверов также должна быть включена, запускать haspd на машине, на которой запускается Компас, не обязательно. |
=== КОМПАС v.11 === | === КОМПАС v.11 === | ||
− | Используется HASP SRM. | + | Используется HASP SRM. На тестовых ключах возможность сетевой работы проверена, с КОМПАС ещё не проверялось. |
[[Категория:Ключи защиты]] | [[Категория:Ключи защиты]] |
Текущая версия на 13:39, 25 января 2023
Ситуация по поддержке ключей HASP в Wine неоднозначна из-за одновременного сосуществования различных поколений ключей, а скорее драйверов к ним, разными способами использования ключей в программах. Встречаются ключи
- HASP 3 (LPT) сетевые и локальные
- HASP 4 (USB) сетевые и локальные
- HASP HL (USB) сетевые и локальные
- HASP SRM (отличается другими драйверами и менеджером лицензий, существенно переписанной схемой взаимодействия)
Получить драйверы ключей и менеджер лицензий для Linux и WINE@Etersoft можно здесь, собранные для всех систем.
Содержание
[убрать]Ситуация по поколениям ключей
HASP HL
Поддержка платформы Linux у ключей HASP имеется давно и в полном объёме. Раньше ситуацию немного омрачали LPT-ключи, которым требовалось компилировать модуль ядра, сейчас такие ключи становятся менее актуальны, да и сборка модуля ядра максимально упрощена в пакете haspd. Поддержка платформы Mac OS нас пока не интересует, а поддержка FreeBSD до сих пор так и не появилась, несмотря на многочисленные просьбы. Та же ситуация и с Solaris.
Но запуск программ в Wine имеет свою специфику, поскольку программа не может работать с Linux-драйверами ключей. Начиная с WINE@Etersoft 1.0.10 появилась поддержка "родных" Windows-драйверов для HASP 4/HL, что снимает проблему с локальными ключами, которые могут работать только через загруженный в Wine драйвер.
С поддержкой сетевых ключей HASP 4/HL проблем не было никаких, поскольку имеется драйвер ключа и менеджер лицензий, запускаемый в Linux, слушающий порт UDP/475, к которому можно обратиться из Wine или Windows. Странным является только то, что в Windows менеджер лицензий слушает порт TCP/475. Зачем сделано отличие, не ясно, но оно неплохо вносит сумятицу.
В настоящий момент локальные и сетевые ключи HASP HL USB поддерживаются полностью.
Драйвер ключа под Linux - aksusbd, менеджер лицензий - hasplm.
WINEHASP. В 2005 году Etersoft совместно с LinuxCenter обратились в Аладдин с предложением наладить работу локальных ключей HASP. Решение планировалось универсальным, но по какой-то причине применяется только компанией 1С в продуктах семейства 1С:Предприятие 8.x. Реализовано решение следующим образом: в Windows-API HASP HL начиная с версии API 1.12 добавлена проверка на запущенность в Wine и обращение при этом производится на localhost по порту UDP/2790 (который слушает процесс winehasp).
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 / Linux.
Количество драйверов, необходимых для работы с ключом в Windows, увеличилось по сравнению с HASP HL, что не упрощает реализацию их поддержки в WINE@Etersoft. Для Linux поставляются aksusbd, winehasp под теми же именами, что и прежде, и они совместимы с программами, написанными для HASP HL. Менеджер лицензий называется теперь hasplmd, и совместимости с предыдущим не имеет.
Странно, что hasp_demo.exe из HASP-SRM-3-50/Windows/Installed/Samples/Runtime/C/win32/msc/dll/ не видит ключ, хотя в идущей рядом hasp_windows_demo.dll проверка на Wine и код обращения к winehasp имеется.
Ситуация по популярным программам
1С:Предприятие 7.7
Сетевые ключи работают без проблем. Поддержка локальных ключей находится в стадии тестирования.
1С:Предприятие 8.х
Для 1С:Предприятия 8.х работают как сетевые, так и локальные ключи.
В WINE@Etersoft 1.0.10 и выше по умолчанию локальные ключи работают через драйвера HASP, входящие в состав WINE@Etersoft.
!!! Обратите внимание !!! В некоторых системах возможны проблемы с правами на устройство ключа, тогда нужно в /proc/bus/usb/devices надо найти шину и номер устройства, соответствующие ключу, и поставить права для всех +rw на /dev/bus/usb/номер_шины/номер_устройства.
Также локальные ключи могут работать через Linux-сервис winehasp, входящий в состав hapsd. Использование winehasp включается правкой реестра. С помощью regedit нужно импортировать такой файл:
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Wine\Wine\Config]
"compat"="yes"
КОМПАС v.10
Используется HASP HL без поддержки Wine. Локальные ключи работают через "родные" Windows-драйвера, поддержка которых встроена, начиная с WINE@Etersoft 1.0.10. Для использования ключа по сети загрузка "родных" Windows-драйверов также должна быть включена, запускать haspd на машине, на которой запускается Компас, не обязательно.
КОМПАС v.11
Используется HASP SRM. На тестовых ключах возможность сетевой работы проверена, с КОМПАС ещё не проверялось.