К статье
Практический материал

Администрирование · 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. 1
    Прочитайте полный текст ошибки: там перечислены места поиска лицензии
  2. 2
    Проверьте наличие файлов .lic в каталоге C:\ProgramData\1C\licenses
  3. 3
    Если используется USB-ключ — откройте http://localhost:1947 и убедитесь, что ключ виден системе
  4. 4
    Для сетевого ключа проверьте службу HASP License Manager и доступность UDP-порта 475
  5. 5
    Проверьте, не изменялось ли оборудование или ОС — тогда нужна повторная активация резервным пин-кодом
  6. 6
    Перезапустите службы и повторите запуск, зафиксируйте результат

Если программная лицензия «слетела» из-за смены оборудования, запустите получение лицензии заново и используйте резервный пин-код из комплекта. Когда резервные коды исчерпаны, запрашиваются дополнительные через центр лицензирования 1С — для этого понадобятся регистрационный номер продукта и данные организации.

Для сетевых ключей типовое лечение — явно прописать адрес сервера с ключом в файле nethasp.ini на клиенте (параметр NH_SERVER_ADDR), чтобы не полагаться на широковещательный поиск, который часто режется маршрутизаторами и VLAN.

Типичные ошибки
01
Установка двух менеджеров лицензий HASP в одной сети без настройки — клиенты получают хаотичные отказы
02
Активация программной лицензии под одним пользователем, а запуск под другим — файл .lic недоступен, лицензия «не видна»
03
Игнорирование текста ошибки и переустановка платформы — проблема не в платформе, а в поиске лицензии
04
Смена оборудования без запаса резервных пин-кодов — простой в работе до получения новых кодов

Как убедиться, что лицензия работает правильно

Контрольные точки

Как проверить результат

Запуск клиента 1С
Норма

Сеанс открывается без диалога о поиске лицензии

Тревожный признак

Появляется окно «Не найдена лицензия» с перечнем мест поиска

Файлы лицензий
Норма

В C:\ProgramData\1C\licenses присутствуют актуальные файлы .lic

Тревожный признак

Каталог пуст или файлы устарели после смены оборудования

USB-ключ в Admin Control Center
Норма

Ключ отображается на странице localhost:1947, видны свободные лицензии

Тревожный признак

Ключ не отображается или все лицензии заняты

Одновременная работа пользователей
Норма

Число сеансов не превышает ёмкость ключа

Тревожный признак

Часть пользователей получает отказ при входе

После устранения проблемы проверьте работу под всеми учётными записями, которые реально используются, и при типичной нагрузке — когда запущено максимальное число сеансов. Разовый успешный запуск под администратором не гарантирует, что рядовой пользователь с ограниченными правами получит лицензию.

Итог

Что важно запомнить

1С проверяет лицензию при каждом запуске: программную — сверкой параметров компьютера с файлом .lic, аппаратную — опросом ключа HASP локально или по сети. Большинство сбоев связано со сменой оборудования, недоступностью сетевого ключа или нехваткой лицензий. Диагностику начинайте с полного текста ошибки и проверки каталога лицензий либо панели Sentinel.

Частые вопросы

Почему лицензия «слетела» после обновления Windows?

Крупные обновления ОС могут менять параметры, входящие в отпечаток компьютера (например, сведения о версии системы или сетевых адаптерах). Лицензия перестаёт совпадать с текущей конфигурацией. Решение — повторная активация резервным пин-кодом через мастер получения лицензии.

Сколько раз можно активировать один пин-код?

Основной пин-код используется один раз. В комплекте поставки есть ограниченный набор резервных пин-кодов на случай смены оборудования. Когда они заканчиваются, дополнительные коды запрашиваются в центре лицензирования 1С с указанием регистрационного номера продукта.

Клиент не видит сетевой ключ, хотя он вставлен в сервер. Что делать?

Проверьте, что на сервере запущена служба HASP License Manager, а UDP-порт 475 не блокируется файрволом. Надёжнее всего прописать IP-адрес сервера с ключом в файле nethasp.ini на клиенте — тогда поиск не зависит от широковещательных запросов.

Можно ли использовать один USB-ключ на нескольких компьютерах?

Локальный ключ — нет, он работает только на машине, куда вставлен. Для нескольких рабочих мест нужен сетевой ключ с соответствующим числом лицензий, подключённый к одному компьютеру в сети с запущенным менеджером лицензий.

Что означает «лицензия на сервер 1С» и нужна ли она в файловом режиме?

Серверная лицензия требуется только при работе через сервер 1С:Предприятия (клиент-серверный вариант). В файловом режиме она не нужна — достаточно клиентских лицензий на рабочих местах или сетевого ключа.