Как использовать имеющиеся USB-ключи для защиты 1С:Предприятие и привязать к ним программные лицензии?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Почему нельзя использовать сторонние USB-токены (Рутокен, JaCarta) для 1С?

У многих системных администраторов в шкафах скапливаются десятки неиспользуемых USB-токенов, оставшихся от клиент-банков, старых электронных подписей (ЭЦП) или других программных продуктов. Логично возникает мысль: нельзя ли отформатировать эти токены (например, популярные Рутокен или JaCarta) и записать на них лицензионные файлы 1С? К сожалению, технически это абсолютно невозможно. Выясним причину этой несовместимости.

Аппаратная защита 1С построена на базе специализированных ключей семейства HASP (Sentinel) производства компании Aladdin (ныне Thales). Эти ключи принципиально отличаются от токенов для ЭЦП:

  1. Различная аппаратная архитектура: Токены типа Рутокен представляют собой смарт-карты в корпусе USB-брелока. Они предназначены для криптографических операций (генерация пар ключей, шифрование по ГОСТ, хранение сертификатов). Ключи HASP — это специализированные контроллеры защиты программного обеспечения, имеющие собственную защищенную память и уникальный алгоритм обработки запросов от платформы 1С.
  2. Драйверы и программный интерфейс (API): Платформа 1С:Предприятие при поиске ключа опрашивает строго определенные порты и использует проприетарные библиотеки HASP API (например, haspvlib.dll). Она ожидает получить отклик от чипа HASP с уникальной сигнатурой. Сторонние токены физически не способны ответить на такие запросы, так как работают по совершенно иным стандартам (PKCS#11, PC/SC).
  3. Невозможность перепрошивки: Архитектура чипов в ключах защиты жестко зафиксирована на заводе-изготовителе. Записать микрокод HASP на Рутокен невозможно ни программными утилитами, ни физическим вмешательством.

Таким образом, идея превратить старый токен для подписи в ключ защиты 1С несостоятельна. Однако это не означает, что вы обречены постоянно вводить новые пин-коды при каждом изменении параметров вашего сервера.

Суть и особенности привязки программных лицензий к аппаратным ключам защиты

Начиная с версии платформы 8.3.12, разработчики 1С реализовали великолепный механизм — привязку программной лицензии к уникальному идентификатору (ID) оригинального физического HASP-ключа. Рассмотрим подробнее, как это работает и почему это решает проблему постоянно слетающих лицензий.

Существует распространенное заблуждение, будто программную лицензию можно физически записать внутрь USB-ключа. На самом деле это не так. Физический ключ всегда остается неизменным, на него ничего не записывается. Схема работы выглядит следующим образом:

  1. На сервере создается стандартный файл программной лицензии с расширением .lic.
  2. При стандартном получении лицензии этот файл жестко привязывается к ключевым параметрам компьютера (модель процессора, объем оперативной памяти, сетевые платы, ID операционной системы и жесткого диска). При изменении любого из этих параметров файл становится недействительным, и система требует ввести резервный пин-код.
  3. При выборе альтернативного варианта привязки в качестве единственной опорной точки берется уникальный Key ID подключенного USB-ключа HASP. Файл лицензии по-прежнему хранится на жестком диске сервера, но теперь платформа 1С при запуске проверяет только одно условие: подключен ли к серверу USB-ключ с нужным ID.

Этот подход дает колоссальное преимущество: вы можете полностью переустановить операционную систему, обновить процессор, увеличить объем оперативной памяти или перенести виртуальную машину на другой физический хост гипервизора. Лицензия не слетит, пока в сервере установлен тот самый USB-ключ.

Какие ключи подходят для привязки? Подходят только оригинальные ключи защиты 1Сv8 следующих серий:

К одному физическому ключу (даже к самому обычному однопользовательскому ORGL8) можно привязать любое количество программных лицензий. Сам ключ при этом выступает лишь в роли уникального якоря.

Разберем по шагам: как привязать программную лицензию к HASP-ключу

Проанализируем практический алгоритм привязки лицензии во время ее активации. Для этого выполним следующие действия:

  1. Убедимся, что оригинальный USB-ключ защиты 1С (например, приобретенный официально или оставшийся от старых поставок) надежно вставлен в USB-порт сервера или проброшен в виртуальную машину. Убедимся, что драйвер HASP установлен и ключ светится ровным красным светом.
  2. Запустим платформу 1С:Предприятие в режиме "Конфигуратор" или в режиме "Предприятие" (если базы еще нет, платформа сама предложит получить лицензию).
  3. В появившемся окне выберем пункт "Получить лицензию".
  4. Введем регистрационный номер комплекта и активный пин-код программной лицензии. Нажмем кнопку "Далее".
  5. На этапе выбора компьютера, к которому привязывается лицензия, перейдем по ссылке "Дополнительно" (или выберем ручной способ привязки в зависимости от версии платформы).
  6. В открывшемся окне вместо варианта "Привязать к параметрам данного компьютера" выберем пункт "Привязать к аппаратному ключу защиты (HASP)".
  7. Система выполнит поиск доступных USB-ключей и отобразит список найденных Key ID. Выберем необходимый ключ из списка.
  8. Заполним регистрационные данные организации. Крайне важно сохранить эти данные в отдельный файл (мы рекомендуем создавать текстовый документ LicData.txt) точно, до единого символа, включая пробелы и знаки препинания. В будущем при восстановлении лицензии эти данные должны будут совпать на 100%.
  9. Завершим операцию получения лицензии. На диске в каталоге лицензий появится новый файл .lic, работающий исключительно в связке с вашим USB-ключом.

Решение проблемы однопользовательских ключей в терминальном режиме (RDP)

Многие администраторы сталкиваются со следующим ограничением: однопользовательский аппаратный ключ защиты 1С (HASP HL, маркировка ORGL8 на 1 рабочее место) блокируется платформой при попытке запуска программы внутри терминальной сессии (RDP). Платформа распознает сетевой характер сеанса и выдает ошибку отсутствия лицензии. Как обойти это ограничение законным путем?

Использование связки "Программная лицензия + привязка к HASP" полностью решает эту проблему, если мы используем клиент-серверный вариант работы базы данных (на базе SQL-сервера).

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

  1. Программные лицензии, привязанные к физическому ключу (установленному локально в сервер), активируются непосредственно на сервере 1С.
  2. При подключении пользователя через RDP, клиентское приложение 1С запрашивает лицензию у Сервера 1С.
  3. Сервер 1С самостоятельно проверяет наличие файла .lic на своем диске, опрашивает локально подключенный USB-ключ, подтверждает валидность лицензии и выделяет сеансу свободную лицензию.
  4. Блокировка RDP в данном случае не срабатывает, поскольку непосредственный опрос USB-порта клиентом не выполняется — все операции происходят локально на стороне сервера под системной учетной записью.

Если же вы работаете в файловом варианте на терминальном сервере, то для корректной раздачи лицензий без блокировок рекомендуется использовать многопользовательские программные лицензии или воспользоваться новыми возможностями современных версий платформы.

Новый механизм платформы: Менеджер лицензий 1С (rmlic)

Начиная с современных версий платформы (семейства 1С:Предприятие 8.5), разработчики существенно модернизировали систему защиты и управления лицензиями. На смену устаревшей сторонней утилите HASP License Manager от компании Aladdin пришел собственный инструмент — Менеджер лицензий 1С (rmlic).

Рассмотрим, какие ключевые изменения привносит этот инструмент и как запустить его в инфраструктуре:

Для развертывания службы менеджера лицензий в операционной системе Windows используется запуск исполняемого файла с соответствующими параметрами конфигурации. Разберем пример команды для установки службы:


rmlic.exe --config "C:\ProgramData\1C\licenses\rmlic.cfg" --install
net start rmlic

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

Практические рекомендации по минимизации сбоев лицензирования

Чтобы навсеть забыть о внезапных слетах программных лицензий и минимизировать время простоя пользователей при плановых технических работах, мы рекомендуем придерживаться нескольких простых правил:

  1. Регулярное резервное копирование каталога лицензий: Все файлы программных лицензий с расширением .lic по умолчанию хранятся в каталоге C:\ProgramData\1C\licenses (для ОС Windows) или /var/1C/licenses (для Linux). Обязательно включите эту папку в ежедневный план резервного копирования. Если вы переустанавливаете операционную систему на том же самом железе без изменения конфигурации компонентов, вам не нужно активировать пин-коды заново — достаточно просто вернуть скопированные файлы .lic в этот каталог.
  2. Фиксация реквизитов организации: При первой активации любой лицензии сохраняйте заполненную форму с реквизитами в файл LicData.txt. Помните, что при восстановлении лицензии по резервному пин-коду система потребует ввести название организации, ИНН, КПП и адрес вплоть до каждого символа и регистра букв так же, как они были введены изначально. Ошибка в одном символе приведет к отказу в активации.
  3. Использование аппаратных привязок на виртуальных машинах: Если ваш сервер 1С развернут в среде виртуализации (Hyper-V, VMware, Proxmox), классическая программная привязка крайне нестабильна, так как гипервизор может динамически изменять параметры процессора или памяти. В таких сценариях использование связки с USB-ключом (проброшенным в виртуалку через USB-over-IP или стандартными средствами гипервизора) является единственным надежным способом обеспечить непрерывность бизнес-процессов без регулярных запросов новых пин-кодов в технической поддержке 1С.
← На главную