Администрирование · 10 мин
Как 1С проверяет лицензию: механизм защиты и диагностика проблем
Разбираем, как 1С проверяет лицензию: программные и аппаратные ключи HASP, сервер лицензирования, типичные ошибки «не найдена лицензия» и способы их устранения.
Платформа 1С:Предприятие не запускает сеанс работы с информационной базой, пока не убедится, что у пользователя есть право на использование программы. Проверка выполняется каждый раз при старте клиентского приложения или при обращении к серверу 1С, а не один раз при установке. Поэтому сообщение «Не найдена лицензия» может появиться даже на давно работающем компьютере — если что-то изменилось в аппаратной части, сети или настройках.
Механизм защиты построен на технологии Sentinel (ранее HASP) компании Thales. Существует два принципиально разных типа лицензий: программные (файлы с расширением .lic, привязанные к параметрам конкретного компьютера) и аппаратные (USB-ключи HASP). Логика проверки для них отличается, и понимание разницы — ключ к быстрой диагностике сбоев.
В клиент-серверном варианте работы проверку выполняет сервер 1С:Предприятия, а в файловом — сам клиент на компьютере пользователя. Это определяет, где искать проблему: на рабочем месте бухгалтера или на сервере в серверной.
Что происходит при запуске: общая схема проверки
При старте клиентское приложение (или сервер 1С) обращается к подсистеме лицензирования и выполняет поиск доступных лицензий в строго определённом порядке. Сначала проверяются локальные источники: установленные программные лицензии и локально подключённые USB-ключи. Затем, если локальная лицензия не найдена, выполняется поиск в локальной сети — опрос менеджеров лицензий HASP на других машинах.
Найденная лицензия проходит валидацию. Для программной лицензии платформа сравнивает параметры компьютера, зафиксированные в файле .lic при активации, с фактическими текущими параметрами. Для аппаратного ключа проверяется его доступность, тип и количество свободных лицензий (пинов) на ключе.
Только после успешной проверки платформа открывает соединение с информационной базой. Если ни одна валидная лицензия не найдена, пользователь видит диалог с перечнем мест, где выполнялся поиск, — этот текст стоит читать внимательно, он сам подсказывает направление диагностики.
Как проверяется программная лицензия
Программная лицензия активируется пин-кодом из комплекта поставки через мастер, который вызывается при первом запуске или командой «Получить лицензию». В момент активации платформа собирает «отпечаток» компьютера: версию операционной системы, имя компьютера, тип и объём оперативной памяти, параметры процессора, сведения о сетевых адаптерах, дату установки ОС и другие характеристики. Этот набор в зашифрованном виде записывается в файл лицензии.
При каждом запуске платформа заново собирает текущие параметры и сравнивает их с записанными в файле. Совпадение должно быть полным по значимым характеристикам. Изменились сетевые адаптеры, переустановлена ОС, заменена материнская плата или добавлена память — лицензия перестаёт проходить проверку, и её нужно активировать заново резервным пин-кодом.
Файлы лицензий хранятся в служебных каталогах. Типичные расположения: C:\ProgramData\1C\licenses для общих лицензий и каталог пользователя %APPDATA%\1C\licenses — для лицензий, активированных конкретным пользователем. На Linux-развёртываниях используется каталог /var/1C/licenses. Если файлы удалить или повредить, лицензия «пропадёт», хотя сам пин-код остаётся действительным.
Как проверяется аппаратный ключ HASP
USB-ключи HASP бывают локальными (на одно рабочее место) и сетевыми (на несколько лицензий, например ORGL8 на 5, 10, 20 и более пользователей). Локальный ключ опрашивается напрямую через драйвер Sentinel. Сетевой ключ подключается к любому компьютеру в локальной сети, а клиенты находят его через менеджер лицензий HASP License Manager.
При сетевой проверке клиент рассылает широковещательный запрос или обращается к адресам, указанным в конфигурационном файле nethasp.ini. Менеджер лицензий отвечает, выдаёт свободный «пин» с ключа, и сеанс стартует. Ключевой момент: связь идёт по протоколу UDP (порт 475 по умолчанию), и если файрвол или сегментация сети блокирует этот трафик, клиент ключ «не видит», хотя физически тот исправен.
Одновременно на одном компьютере не должны работать два менеджера лицензий HASP — они конфликтуют, и клиенты могут получать отказы. Также сетевой ключ не выдаст больше сеансов, чем число лицензий, прошитых в нём: шестой пользователь при ключе на пять получит отказ.
Проверьте наличие файлов .lic в C:\ProgramData\1C\licenses и не менялось ли оборудование
Проверьте службу HASP License Manager и доступность UDP-порта 475
Сопоставьте число одновременных сеансов с ёмкостью ключа
Проверьте nethasp.ini и версию драйвера Sentinel
Проверка лицензий на сервере 1С
В клиент-серверном режиме клиентские лицензии может раздавать сам сервер 1С:Предприятия — это включается в свойствах информационной базы в консоли кластера (флаг «Разрешить выдачу лицензий сервером»). Тогда программные лицензии активируются на сервере, а клиенты получают их от него, что удобно для терминальных и веб-сценариев.
Серверная лицензия (для 32- или 64-разрядного сервера 1С) проверяется отдельно при старте агента сервера. Без неё кластер работает в ограниченном режиме. Важно не путать два типа проверок: серверная лицензия легализует сам сервер, клиентские — сеансы пользователей.
При диагностике на сервере смотрите технологический журнал и журнал регистрации: туда пишутся события поиска и выдачи лицензий. Также полезен инструмент «Монитор лицензий» (ring license или утилиты Sentinel Admin Control Center по адресу http://localhost:1947 для ключей HASP), показывающий, какие ключи видны системе и сколько лицензий занято.
Типичные ошибки и как их исправить
Самое частое сообщение — «Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия». Диагностику удобно вести по шагам от простого к сложному.
- 1Прочитайте полный текст ошибки: там перечислены места поиска лицензии
- 2Проверьте наличие файлов .lic в каталоге C:\ProgramData\1C\licenses
- 3Если используется USB-ключ — откройте http://localhost:1947 и убедитесь, что ключ виден системе
- 4Для сетевого ключа проверьте службу HASP License Manager и доступность UDP-порта 475
- 5Проверьте, не изменялось ли оборудование или ОС — тогда нужна повторная активация резервным пин-кодом
- 6Перезапустите службы и повторите запуск, зафиксируйте результат
Если программная лицензия «слетела» из-за смены оборудования, запустите получение лицензии заново и используйте резервный пин-код из комплекта. Когда резервные коды исчерпаны, запрашиваются дополнительные через центр лицензирования 1С — для этого понадобятся регистрационный номер продукта и данные организации.
Для сетевых ключей типовое лечение — явно прописать адрес сервера с ключом в файле nethasp.ini на клиенте (параметр NH_SERVER_ADDR), чтобы не полагаться на широковещательный поиск, который часто режется маршрутизаторами и VLAN.
Как убедиться, что лицензия работает правильно
Как проверить результат
Сеанс открывается без диалога о поиске лицензии
Появляется окно «Не найдена лицензия» с перечнем мест поиска
В C:\ProgramData\1C\licenses присутствуют актуальные файлы .lic
Каталог пуст или файлы устарели после смены оборудования
Ключ отображается на странице localhost:1947, видны свободные лицензии
Ключ не отображается или все лицензии заняты
Число сеансов не превышает ёмкость ключа
Часть пользователей получает отказ при входе
После устранения проблемы проверьте работу под всеми учётными записями, которые реально используются, и при типичной нагрузке — когда запущено максимальное число сеансов. Разовый успешный запуск под администратором не гарантирует, что рядовой пользователь с ограниченными правами получит лицензию.
Что важно запомнить
1С проверяет лицензию при каждом запуске: программную — сверкой параметров компьютера с файлом .lic, аппаратную — опросом ключа HASP локально или по сети. Большинство сбоев связано со сменой оборудования, недоступностью сетевого ключа или нехваткой лицензий. Диагностику начинайте с полного текста ошибки и проверки каталога лицензий либо панели Sentinel.
Частые вопросы
Почему лицензия «слетела» после обновления Windows?
Крупные обновления ОС могут менять параметры, входящие в отпечаток компьютера (например, сведения о версии системы или сетевых адаптерах). Лицензия перестаёт совпадать с текущей конфигурацией. Решение — повторная активация резервным пин-кодом через мастер получения лицензии.
Сколько раз можно активировать один пин-код?
Основной пин-код используется один раз. В комплекте поставки есть ограниченный набор резервных пин-кодов на случай смены оборудования. Когда они заканчиваются, дополнительные коды запрашиваются в центре лицензирования 1С с указанием регистрационного номера продукта.
Клиент не видит сетевой ключ, хотя он вставлен в сервер. Что делать?
Проверьте, что на сервере запущена служба HASP License Manager, а UDP-порт 475 не блокируется файрволом. Надёжнее всего прописать IP-адрес сервера с ключом в файле nethasp.ini на клиенте — тогда поиск не зависит от широковещательных запросов.
Можно ли использовать один USB-ключ на нескольких компьютерах?
Локальный ключ — нет, он работает только на машине, куда вставлен. Для нескольких рабочих мест нужен сетевой ключ с соответствующим числом лицензий, подключённый к одному компьютеру в сети с запущенным менеджером лицензий.
Что означает «лицензия на сервер 1С» и нужна ли она в файловом режиме?
Серверная лицензия требуется только при работе через сервер 1С:Предприятия (клиент-серверный вариант). В файловом режиме она не нужна — достаточно клиентских лицензий на рабочих местах или сетевого ключа.