HASP4 для пользователей

HASP4 для пользователей


Работа приложений, защищенных при помощи электронных ключей HASP4, HASP HL и Sentinel HL в рамках системы защиты HASP4 под Windows Vista

Для работы приложения, защищенного при помощи электронных ключей HASP4, HASP HL и Sentinel HL в рамках системы защиты HASP4 под Windows Vista должны выполняться следующие требования:

1) Версия установленного драйвера ключа защиты не ниже 4.102 (загрузить драйвер).
2) Версия HASP4 API, использованного при защите программы, не ниже 8.01.
3) Версия HASP4 Envelope (instw32.exe), использованного при защите, не ниже 12.10.

Для выполнения первого требования можно скачать драйвер для ключей защиты программного обеспечения HASP4, HASP HL и Sentinel HL с нашего сайта, выполнение второго и третьего требования может обеспечить только разработчик защищенного приложения.


Работа приложений, защищенных при помощи электронных ключей HASP4, HASP HL и Sentinel HL в рамках системы защиты HASP4 под Windows 7 и новее


Работа приложений, защищенных при помощи электронных ключей HASP4, HASP HL и Sentinel HL, в рамках системы защиты HASP4, под Windows 7 и более свежими ОС не гарантируется, так как данная система защиты официально не поддерживает данные ОС.


Работа ключа на удаленной машине – настройка "nethasp.ini"


Для того, чтобы защищенное приложение нормально работало на удаленной рабочей станции, необходимо обеспечить беспрепятственный проход UDP- и TCP-пакетов по порту 475 в обе стороны. Также должны проходить и broadcast-пакеты. Если последнее требование не выполняется, необходима настройка приложения через файл "nethasp.ini" (должен находится в одной директории с защищенным приложением) с целью отключения broadcast-механизма поиска ключа и явного указания IP-адреса машины, обслуживающей ключ.

Пример "nethasp.ini":


[NH_COMMON]

NH_TCPIP = Enabled

...

[NH_TCPIP]

NH_SERVER_ADDR = 168.192.1.41 //ip-адрес компьютера, где расположен менеджер лицензий.

NH_TCPIP_METHOD = TCP

NH_USE_BROADCAST = Disabled


Однако если часть маршрута проходит через Интернет, могут возникнуть проблемы с тайм-аутами при доставке пакетов.



Ошибка: «No authorization to run this program (130), Feature not found (Error 31), (H0031)»


Возникновение данной ошибки возможно в следующих случаях.

  • В память ключа защиты программного обеспечения HASP не прошита лицензия на используемый Program Number/Feature ID. Если вы являетесь пользователем защищенного приложения, необходимо обратиться к разработчику данного ПО для замены или обновления ключа. Если вы являетесь разработчиком, следует прошить лицензию в память ключа с помощью утилит HASPEdit (HASP4) / Factory(HASP HL) / Business Studio(HASP SRM) / Sentinel EMS(Sentinel LDK) / через API(LicGen/BSS API).
  • На компьютере установлено 2 ключа защиты ПО HASP одной серии. Виден только один из них – тот, на котором не прописана данная лицензия. Попробуйте подключить ключи поочередно и проверить, запускается ли приложение.
  • Если ключ HASP, с помощью которого защищена программа, сетевой, возможна ситуация, когда в сети работает несколько менеджеров лицензий, обслуживающих ключи защиты ПО одной серии с разным набором лицензий. В таком случае, если защищенное приложение находит первым ключ HASP, не содержащий искомой лицензии, выдается данная ошибка. Необходимо произвести настройку менеджеров лицензий – см. "Два и более менеджеров лицензий (HASP License Manager) в сети".

Ошибка: «Error 1009: Cannot open Hasp HL Drivers»


Возникновение данной ошибки возможно в следующих случаях:

  1. Не установлен драйвер ключа HASP. Загрузите и установите драйвер ключа: https://thales-sentinel.ru/helpdesk/download-space/#tabs-4
  2. Приложение запускается раньше, чем драйвер закончит инициализацию.

Ошибка «Hasp not found (0)»

Такая ошибка иногда возникает, если защищенное приложение или ключ установлены на машине с более чем одним сетевым интерфейсом. Для устранения следует отключить второй сетевой интерфейс или переставить ключ/приложение на машину с одним сетевым интерфейсом.



Ошибка «HASP not found (-4), (Error 4), (H0004), Too many open Features»


Возникновение данной ошибки возможно в следующих случаях:

  1. Количество сессий (пользователей) с ключом защиты превысило допустимое ограничение. В данном случае необходимо либо ограничить число пользователей, использующих защищенное приложение, либо обратиться к поставщику защищенного ПО для покупки/обновления ключа Sentinel (HASP) до большего количества лицензий.
  2. Ключ защиты, с помощью которого защищена программа – сетевой, и в сети работает несколько менеджеров лицензий, обслуживающих ключи защиты ПО одной серии. В таком случае, если защищенное приложение находит первым ключ Sentinel (HASP), с которым уже установлено максимальное количество сессий, выдается данная ошибка. Необходимо произвести настройку менеджеров лицензий – см. "Два и более Менеджеров Лицензий (HASP License Manager) в сети".
  3. После завершения приложения остается активной сессия с ключом Sentinel (HASP). В результате чего сокращается реальное количество возможных подключений к ключу защиты Sentinel (HASP) и выдается данная ошибка. Необходимо перезапустить менеджер лицензий (только для систем защиты HASP4 и HASP HL).


Отсутствует LPT (USB) порт на компьютере. Порт LPT установлен в виде платы расширения.


В случае, если необходимо установить LPT-ключ HASP на компьютере, где отсутствует LPT-порт, можно установить PCI-плату расширения с портом LPT. При установке PCI-платы с LPT-портом необходимо учитывать, что базовый адрес LPT-порта, установленного на PCI-шине, отличается от общепринятых значений для интегрированных портов (это 378h, 3BCh и 278h). Поэтому для установки драйвера следует использовать утилиту установки с интерфейсом командной строки. Данная утилита позволяет задать любой базовый адрес порта при установке драйвера. Синтаксис данной утилиты:

"hinstall -i -lpt1=x", где x - базовый адрес порта. Посмотреть его значение можно в менеджере устройств.

Пример для данных адресов:

"hinstall -i -lpt1=0x378" или "hinstall -i -lpt1=0x3BC"

К сожалению, ключи не работают на переходниках PCMCIA-LPT или USB-LPT. Это связано с особенностями работы драйвера ключа. Также технически возможна замена LPT-ключа на аналогичный USB-ключ, однако этот вопрос необходимо решать с компанией-разработчиком защищенного ПО. В случае отсутствия портов USB их можно добавить с помощью плат расширения PCI или PCMCIA.


Менеджер лицензий (HASP License Manager) «грузит» одно из ядер процессора на 100%. Массовые сетевые ошибки "receive problem error 10038" и "receive problem error 10054", неконтролируемый рост потребления оперативной памяти процессом.


Актуально только для менеджеров лицензий версии 8.32 и ниже от систем защиты HASP4 и HASP HL.

Причина сбоев в работе менеджера лицензий – «битые» пакеты, приходящие по UDP. Поскольку обмен при помощи UDP-дэйтаграмм не предусматривает контроля успешной доставки пакета, данный протокол надежно работает только в сетях, построенных на высококачественном оборудовании. Если же на какой-нибудь рабочей станции, где запускается защищенное приложение, установлена карта, которая не корректно работает с FlowControl, то это приводит к вышеописанной ситуации. Единственный способ разрешить эту проблему, не считая замены оборудования на более качественное, – это переход на обмен посредством TCP-пакетов. В этом случае контролируется успешная доставка каждого пакета и работа с ключом становится более надежной.

Для того, чтобы настроить защищенное приложение на работу через TCP-пакеты, необходимо сконфигурировать файл "nethasp.ini" следующим образом:


"nethasp.ini"

[NH_COMMON]

NH_TCPIP = Enabled

...

[NH_TCPIP]

NH_SERVER_ADDR = 168.192.1.41

NH_TCPIP_METHOD = TCP

...


Адрес дан для примера, следует указывать реальный IP-адрес машины, где установлен менеджер лицензий. Далее (важно!) следует отключить в менеджере лицензий прослушивание UDP-протокола, оставив только TCP:


"nhsrv.ini"

...

[NHS_IP]

NHS_USE_UDP = disabled

NHS_USE_TCP = enabled

...


Если этого не сделать, то при получении "битых" UDP-пакетов менеджером ошибка может возникнуть вновь.

Некоторые приложения не работают по TCP, только по UDP (например, 1С 8.х). Однако можно заставить их использовать TCP неявно. Для этого помимо того, что описано выше, необходимо разрешить в свойствах протокола TCP/IP (Properties - Advanced - WINS) поддержку NetBios over TCP/IP на рабочих станциях, где работает защищенное приложение и на машине, где установлен ключ. Конфигурационные файлы приложения необходимо настроить следующим образом:


"nethasp.ini"

[NH_COMMON]

NH_TCPIP = Disabled

NH_NETBIOS = Enabled

...

[NH_NETBIOS]

...

NH_USELANANUM = ...


Значение параметра Num можно взять из лога менеджера лицензий, там указывается, какие каналы менеджер слушает по NetBios. Если номеров несколько, переберите их по очереди, пока 1С не запустится. При такой настройке 1С в качестве транспорта по-прежнему будет использовать TCP/IP, но работать с ним будет через интерфейс NetBios. Причем при передаче пакетов будет использоваться именно TCP-механизм, в силу особенностей реализации NetBios over TCP/IP.



Два и более менеджеров лицензий (HASP License Manager) в сети


Актуально только для менеджеров лицензий версии 8.32 и ниже от систем защиты HASP4 и HASP HL.

При установке в сети двух и более менеджеров лицензий их необходимо настроить для корректной работы. Иначе в сети может возникать коллизия между менеджерами лицензий по именам - при старте они принимают одно и то же имя по умолчанию, и в результате в сети присутствует несколько ресурсов с одинаковыми именами. Стоит отметить, что нередко менеджеры нормально работают и без настройки. Тем не менее, следует иметь в виду, что возможно возникновение проблемы. Кроме того, настройка может понадобиться, например, чтобы разделить клиентов по разным менеджерам лицензий.

Основная идея настройки в данном случае – назначить каждому менеджеру свое имя и сообщить каждой копии 1С эти имена. Задать имя менеджеру можно через файл "nhsrv.ini", он должен находиться в одном каталоге с менеджером лицензий (по умолчанию - C:\Program Files\Aladdin\HASP LM). Если менеджер лицензий установлен как сервис, то данный файл необходимо скопировать в каталог Windows\System32 (для 64-разрядных ОС - Windows\SysWOW64). Имя должно состоять из алфавитно-цифровых символов (можно использовать только латиницу) и не должно быть длиннее 7 символов.

Пример настройки:


"nhsrv.ini" #1

[NHS_SERVER]

NHS_SERVERNAMES = LM1



"nhsrv.ini" #2

[NHS_SERVER]

NHS_SERVERNAMES = LM2


Сообщить защищенному приложению имена менеджеров можно через файл "nethasp.ini", он должен находиться в одном каталоге с защищенным приложением или в каталоге, который указал разработчик (для 1С – каталог Bin\Conf от корня установки 1С):


"nethasp.ini"

[NH_COMMON]

NH_TCPIP = Enabled

[NH_TCPIP]

NH_SERVER_ADDR = 168.192.1.41, 168.192.1.11

NH_SERVER_NAME = LM1, LM2


Параметры "адрес" и "имя" должны соответствовать друг другу, т.е. на машине с адресом 168.192.1.41 должен быть запущен менеджер с именем LM1. Адреса даны для примера, следует указывать реальные IP- адреса машин, где установлены соответствующие менеджеры лицензий.


Aladdin Monitor не показывает ключ Sentinel (HASP)


Сам по себе монитор может показать только наличие менеджера лицензий на том или ином адресе. Ключ он сможет увидеть только после того, как защищенное приложение успешно откроет хотя бы одну сессию с ключом. Кроме того, следует учитывать, что Aladdin Monitor работает только по протоколу UDP, порт 475. Таким образом, отсутствие данных о ключе в мониторе еще не означает, что ключ недоступен для приложения.



Инструкция по эксплуатации программных продуктов «1C» и ключей защиты Sentinel (HASP)


Уважаемые клиенты! Рекомендуем вам ознакомиться с инструкцией по эксплуатации программных продуктов «1C» и ключей защиты Sentinel (HASP).


HASP4 и "зависшие" сессии


Система защиты HASP4 устарела и была снята с поддержки в 2006 году, с тех пор для неё ничего не дорабатывалось. В менеджере лицензий 8.32 периодически возможно "зависание части лицензий", происходящее из-за некорректного завершения сессии с ключом.

Решение возможно путём перезагрузки службы менеджера лицензий (ручной или автоматической по расписанию), в ходе которой будут завершены все сессии с ключом, в том числе и зависшие, либо по истечению тайм аута, равного 24 часам.



Почему в Sentinel Admin Сontrol Center не видно ключ HASP4? Подходит ли драйвер от LDK для HASP4 / HASP HL?


Sentinel Admin Сontrol Center – это web-интерфейс менеджера лицензий, встроенного в драйвер от системы защиты Sentinel LDK (SRM), ключи Sentinel (HASP) не работают с ним в рамках систем защиты HASP4 и HASP HL.

Для работы ключей по сети в рамках системы защиты HASP4 / HASP HL существует менеджер лицензий - HASP License Manager 8.32, который устанавливается отдельно.

Драйвер от системы защиты Sentinel LDK (SRM) обеспечивает работу ключа Sentinel (HASP) как устройства на ПК, а для работы ключа с защищённым ПО по сети (в рамках систем защиты HASP4 и HASP HL) нужен ещё и менеджер лицензий 8.32, Sentinel Admin Сontrol Center при этом никак не задействуется и на отображение / не отображение в нём ключей внимание обращать не следует.



Теги: Hasp | hasp4 | hasp HL