пятница, 15 мая 2015 г.

КАМИН:Расчет заработной платы для бюджетных учреждений. Версия 3.5. Система защиты.

Как и многие другие продукты на платформе 1С:Предприятие 8, есть вариант поставки "Базовая версия", соответственно для этого варианта дополнительной защиты нет - требуется только лицензия на соответствующую базовую версию продукта.
Для версии ПРОФ требуется 2 вида лицензий:
1. Лицензия "на платформу" в любом виде (аппаратная либо программная).
2. Лицензия "на конфигурацию". Есть вариант поставки с программными лицензиями (по умолчанию) и с аппаратным ключом защиты.
При чем лицензии "на конфигурацию" не могут работать одновременно в программном и аппаратном варианте - нужно выбрать один из способов лицензирования.

Программная защита.

В случае использования программной лицензии "на конфигурацию", защита работает на уровне информационной базы и привязывается к реквизитам основной организации (ИНН, КПП, Рег. номер). Поставляется в виде буквенно-цифрового 16-тизначного регистрационного кода, который также некоторые называют "пароль". Вводится при первом запуске ИБ. Дополнительные лицензии добавляются в ИБ в режиме 1С:Предприятия в главном меню "Сервис" - "Регистрационная информация" - "Дополнительные лицензии". Регистрационный код можно получить в личном кабинете на сайте http://www.kaminsoft.ru/. В случае изменения реквизитов организации, новый код можно рассчитать в личном кабинете, либо по запросу на эл. почту register@kamin.kaluga.ru. На этот же адрес можно обратиться по всем вопросам, относящимся к программной защите.

Аппаратная защита.

Тут начинается самое интересное. Ключ от 3.5 внешне похож на прочие ключи HASP и потому проблема их сходу найти. Отличительный признак - маркировка OQYCW на ключе.



Как и в случае с 1С, ключ может быть фиолетовым (Как на фото сверху), так и красным. Фиолетовый говорит о том что ключ однопользовательский, красный - что ключ многопользовательский сетевой.
Кстати вот он (извините за качество фото)

Есть исключения - если продукт приобретался во второй половине 2014 года и позднее, есть шанс в качестве однопользовательского ключа получить ключ красного цвета, с бумажной наклейкой "1" - это значит что ключ однопользовательский.
Как и любой другой продукт, защищенный ключом HASP, однопользовательские ключи не работают на сервере терминалов.

Первый подводный камень на этапе установки драйверов - если вставить ключ в машину, на которой не стоят драйвера и не отключено получение драйверов из центра обновления Windows, то система поставит драйвер 4й версии, который потом проблематично выковырнуть. И конфигурация с таким драйвером работать не будет.

Как делать правильно? Перед втыканием ключа устанавливаем правильные драйвера, лучше всего вот отсюда:
http://www.kaminsoft.ru/download/zp35.exe
Что делает установщик?
Помещает в папку %WINDIR% (Извините, но так исторически сложилось) библиотеки для работы системы защиты
hasp_com_windows.dll
hasp_windows_61788.dll
hasp_windows_x64_61788.dll
и регистрирует их.
Устанавливает драйвер ключа и менеджер лицензий. (Менеджер лицензий требуется и для однопользовательского ключа, но используется не тот менеджер лицензий, который для платформы.)
Добавляет COM+ приложение "HASP+"

Чаще всего, если с ОС всё в порядке, и никаких шаманских действий больше не делать - конфигурация должна работать. Рассмотрим встречающиеся ошибки.

Error registering COM+ Application.


Возникает при установке zp35.exe. Такая ошибка бывает в 2х случаях:
1. Повторная установка компонент защиты на ту же машину под управлением х64 ОС - если мы уверены, что при первом запуске такой ошибки не возникало, её можно игнорировать.
2. Если ошибка появляется при первой установке заходим "Панель управления" - "Администрирование" - "Службы компонентов" - "Компьютеры" - "Мой компьютер" - "Приложения COM+" - "HASP+" - обычно на этом этапе получаем ошибку вида "Не могу отобразить свойства объекта". Теоретически ошибку можно решить редактором групповой политики, но на практике ни разу не удалось редактор запустить, потому что запуску что-то мешало. Обычно возникает такая ошибка при повреждении ОС, либо неправильной настройке прав пользователя администратором. Можно поковыряться, но чаще всего лечить переустановкой системы.

HASP SRM Run-time Environment installation omitted. Never version already installed.

Возникает при установке zp35.exe. Встречается редко и как воспроизвести не знаю. Гугл рекомендует следующее:
1. Вынуть все ключи HASP
2. Удалить все драйвера HASP, до которых можно дотянуться.
3. Удалить ветку реестра HKEY_LOCAL_MACHINE\SOFTWARE\Aladdin Knowledge Systems
(я бы резервную копию сделал на всякий случай.)
4. Попробовать поставить все заново.
У меня получилось победить принудительной сменой драйвера ключа через диспетчер устройств без удаления этой ветки. Если еще раз наткнусь на эту проблему - попробую оба варианта.


Лицензия не обнаружена

Эта ошибка вообще никак не связана с защитой конфигурации и говорит о том что не хватает лицензии на платформу.

Не найдена библиотека разработчика

Не хватает dll в папке windows, либо они не зарегистрированы. Косвенно говорит о том что используется старый релиз конфигурации, примерно со второй половины 2014 г. эта ошибка объединена со следующей. Лечится установкой компонент защиты.

Не удалось загрузить компоненту защиты

В совсем древних релизах возможна встреча вот такого окна:

Причин может быть несколько.
1. Не хватает указанных выше dll в папке windows
2. Драйвер на ключ не установлен
3. Не вставлен ключ (или вставлен не тот ключ)
4. Используется не тот драйвер.
Причины 1,2 устраняются повторным запуском zp35.exe. 3 - устраняется вставкой ключа. 4 - вариантов решения много, давайте разбираться.
Считаем что драйвера у нас уже установлены, вставленный ключ светится. Если не светится - то либо проблемы с драйверами, либо неисправен USB порт, либо неисправен ключ.
Вставленный ключ должен определиться в диспетчере устройств как 3 устройства:
Aladdin HASP HL Key
Aladdin HASP Key
Aladdin USB Key
В этом случае вставлено 2 ключа, потому устройств 5.

Если устанавливались еще и драйвера от 1С, могут определяться как
SafeNet Inc. Sentinel HL Key
SafeNet Inc. HASP Key
SafeNet Inc. USB Key

Тут мы видим что есть проблема с драйверами, а этого быть не должно.

Совершенно точно ключ работает с драйверами версии 5.50
Если версия ниже, скорее всего система подхватила его их центра обновления Windows или из другого источника.
Решение - кнопка обновить - вручную выбрать драйвер версии 5.50.
Это действие требуется проделать со всеми устройствами (Aladdin HASP HL Key,Aladdin HASP Key, Aladdin USB Key)
В принципе с последующими драйверами тоже работает, но возможны пляски с бубном. В данный момент вместе с 1С поставляется драйвер версии 6.60, который заменяет аладиновский, и чаще всего работает.




Ошибка соединения между приложением и локальным HASP License Manager

Как и следует из ошибки, конфигурация не может связаться с менеджером лицензий. Менеджер лицензий, это служба windows HASP License Manager (либо Sentinel LDK License Manager,если установлена версия драйверов 6.60). Не путать с менеджером лицензия от 1С - HASP Loader.
Ошибка возникает если:
1. Менеджер лицензий отсутствует.
2. Менеджер лицензий не запущен.
3. Менеджер лицензий работает не правильно, либо блокируется антивирусом/файерволом.
Лечение:
1. zp35.exe
2. Запуск службы. Если при запуске возникают ошибки - читать журнал windows, переустанавливать службу и т.д.
3. Отключение антивируса/файервола, либо добавление в исключения. Чаще всего эта ошибка возникает при обновлении платформы, если не снять галочку "Установить драйвер системы защиты". В этом случае брандмауэр windows считает исполняемый файл платформы подозрительным и по умолчанию блокирует сетевую активность, причем оповещение может не показать, или показать не сразу.
У менеджера лицензий есть веб-морда, которую так же можно использовать для диагностики установленных ключей.
Вот тут:
Опять же внешний вид может немного отличаться, в зависимости от версии драйвера.
Таблица должна быть примерно вот такая:
Обратить внимание нужно на столбец "Vendor"
61788 - Ключ от "Камина"
71393 - Ключ от 1С8
Могут встречаться и другие вендоры. Кроме того могут отображаться ключи, установленные на других машинах в локальной сети. Для понимания какой из вставленных ключей соответствует какому ключу в таблице, есть кнопка "Поморгать ключом" (Blink on).

Не найден ключ защиты программы

А вот тут наверняка проблема с ключом (либо с его отсутствием). Если используется однопользовательский ключ - нужно убедится, что он на месте и светится. Если используется сетевой ключи на машине, где он установлен все работает, означает что локальный менеджер лицензий не видит удаленный менеджер лицензий.
Обычно 2 причины:
1. Файерволы/антивирусы. Взаимодействие между различными машинами по сети происходит по TCP/1947 и по UDP с использованием порта 1947 и ещё одного порта >50000, номер которого меняется.
2. Локальный менеджер лицензий не нашел удаленный менеджер лицензий широковещательным запросом. В этом случае можно вручную указать адрес машины, где искать сетевой ключ.
http://localhost:1947/_int_/config.html
Закладка "Access to Remote License Managers" в окне "Specify Search Parameters" можно указать адреса, на которых принудительно искать ключи.


Ошибка работы компоненты защиты! Код ошибки = 27

Возникает при попытке использовать конфигурацию с однопользовательским ключом на сервере терминалов. Решения:
1. Переход на программную защиту
2. Приобретение сетевого ключа
3. Не использовать в терминальном сеансе

Ошибка работы компоненты защиты! Код ошибки = 5

Говорит о том, что превышено число пользователей (6й пользователь пытается получить лицензию с 5 пользовательского ключа). Если так оно и есть - лечится покупкой доп. лицензий (теперь с обязательным переходом на программную защиту). Если реально пользователей меньше - поможет перезапуск службы на сервере. Посмотреть какие компьютеры пользуются ключом: http://localhost:1947/_int_/devices.html - кнопка "Browse" напротив нужного ключа.

Коды ошибки могут быть вот такими, но прочие практически не встречаются.

No Status Code Description
0 HASP_STATUS_OK Request successfully completed
1 HASP_MEM_RANGE Request exceeds HASP SRM protection key memory range
3 HASP_INSUF_MEM System out of memory
4 HASP_TMOF Too many open sessions
5 HASP_ACCESS_DENIED Access to Feature denied
6 HASP_INCOMPAT_FEATURE Legacy decryption function cannot work on Feature
7 HASP_HASP_NOT_FOUND HASP SRM protection key no longer available
8 HASP_TOO_SHORT Encrypted/decrypted data length too short to execute function call
9 HASP_INV_HND Invalid handle passed to function
10 HASP_INV_FILEID Specified File ID not recognized by API
11 HASP_OLD_DRIVER     Installed driver too old to execute function
12 HASP_NO_TIME Real-time clock (RTC) not available
13 HASP_SYS_ERROR Generic error from host system call
14 HASP_NO_DRIVER     Required driver not installed
15 HASP_INV_FORMAT Unrecognized file format for update
16 HASP_REQ_NOT_SUPP Unable to execute function in this context
17 HASP_INV_UPDATE_OBJ Binary data passed to function does not contain an update
18 HASP_KEYID_NOT_FOUND HASP protection key not found
19 HASP_INV_UPDATE_DATA Required XML tags not found
OR
Contents in binary data are missing or invalid
20 HASP_INV_UPDATE_NOTSUPP Update request not supported by HASP SRM protection key
21 HASP_INV_UPDATE_CNTR Update counter not set correctly
22 HASP_INV_VCODE     Invalid Vendor Code passed
23 HASP_ENC_NOT_SUPP HASP SRM protection key does not support encryption type
24 HASP_INV_TIME Passed time value outside supported value range
25 HASP_NO_BATTERY_POWER Real-time clock battery out of power
26 HASP_NO_ACK_SPACE Acknowledge data requested by the update ack_data parameter is NULL
27 HASP_TS_DETECTED Program running on a terminal server
28 HASP_FEATURE_TYPE_NOT_IMPL Requested Feature type not implemented
29 HASP_UNKNOWN_ALG Unknown algorithm used in V2C file
30 HASP_INV_SIG Signature verification operation failed
31 HASP_FEATURE_NOT_FOUND Requested Feature not found
32 HASP_NO_LOG Access log not enabled
33 HASP_LOCAL_COMM_ERR Communication error between API and local HASP License Manager
34 HASP_UNKNOWN_VCODE Vendor Code not recognised by API
36 HASP_INV_SCOPE Invalid XML scope
37 HASP_TOO_MANY_KEYS Too many HASP SRM protection keys currently connected
38 HASP_TOO_MANY_USERS Too many users currently connected
39 HASP_BROKEN_SESSION Session was interrupted
40 HASP_REMOTE_COMM_ERR Communication error between local and remote HASP License Managers
41 HASP_FEATURE_EXPIRED Feature expired
42 HASP_OLD_LM HASP License Manager version too old
43 HASP_DEVICE_ERR Input/output error occurred in secure storage area of HASP SL key
OR
In the case of a HASP HL key, USB communication error occurred
44 HASP_UPDATE_BLOCKED Update installation not permitted
45 HASP_TIME_ERR System time has been tampered with
46 HASP_SCHAN_ERR Communication error occurred in secure channel
47 HASP_STORAGE_CORRUPT Corrupt data exists in secure storage area of HASP SRM protection key
48 HASP_NO_VLIB Unable to find Vendor library
49 HASP_INV_VLIB Unable to load Vendor library
50 HASP_SCOPE_RESULTS_EMPTY Unable to locate any Feature matching scope
52 HASP_HARDWARE_MODIFIED HASP SL key incompatible with machine hardware. HASP SL key locked to different hardware.
OR
In the case of a V2C file, conflict between HASP SL key data and machine hardware data. HASP SL key locked to different hardware.
53 HASP_USER_DENIED Login denied because of user restrictions
54 HASP_UPDATE_TOO_OLD Trying to install a V2C file with an update counter that is out of sequence with update counter in the HASP SRM protection key. Values of update counter in file are lower than those in HASP SRM protection key.
55 HASP_UPDATE_TOO_NEW Trying to install a V2C file with an update counter that is out of sequence with the update counter in the HASP SRM protection key. First value in file is more-than-1 greater than value in HASP SRM protection key.
56 HASP_OLD_VLIB Vendor library too old
58 HASP_INV_RECIPIENT Invalid XML RECIPIENT parameter
59 HASP_INV_DETACH_ACTION Invalid XML detach_action parameter
60 HASP_TOO_MANY_PRODUCTS hasp_detach scope does not specify a unique Product
61 HASP_INV_PRODUCT Invalid Product information
62 HASP_UNKNOWN_RECIPIENT Update can only be applied to recipient machine specified in hasp_detach(), not to this machine
63 HASP_INVALID_DURATION Invalid detached license duration period specified. Duration must be less than or equal to maximum allowed for this license.
OR,
Duration extension is to a date earlier than the expiration date of the current detached license.
64 HASP_CLONE_DETECTED Cloned HASP SL storage detected. Feature unavailable.
400 HASP_NO_API_DYLIB Unable to locate dynamic library for API
401 HASP_INVALID_API_DYLIB Dynamic library for API is invalid
500 HASP_INVALID_OBJECT Object incorrectly initialized
501 HASP_INVALID_PARAMETER Scope string too long (max. length 32 KB)
502 HASP_ALREADY_LOGGED_IN Logging in twice to same object
503 HASP_ALREADY_LOGGED_OUT Logging out twice from same object
525 HASP_OPERATION_FAILED Incorrect use of system or platform
698 HASP_NOT_IMPL Requested function not implemented
OR
In the case of the API Dispatcher, API DLL too old
699 HASP_INT_ERR Internal error in API


Программа работает в ознакомительном режиме



Есть такой момент - если к базе пытается подключиться пользователь, у которого не установлены компоненты защиты, и этот второй выберет "Запустить в ознакомительном режиме", то база переведется в тот самый ознакомительный режим для всех. Вернуть обратно можно в режиме 1С:Предприятия в главном меню "Сервис" - "Регистрационная информация" выбрать нужный вид лицензии.
Или
Всех выгнать, и запустить одному пользователю с установленной системой защиты.
В таком случае можно будет выбрать необходимую лицензию.

2 комментария:

  1. Как исправить?
    36 HASP_INV_SCOPE Invalid XML scope
    на win7-64

    ОтветитьУдалить
    Ответы
    1. Больше подробностей... это что за ошибка и когда возникает?

      Удалить