1. Схема доверия: лицензия Ed25519 версии 2
Признак формата версии 2 — префикс nv2. в ключе лицензии. Подписанные данные формируются с помощью Ed25519 на сервере лицензий, а на установке подпись проверяется открытым ключом. Клиентское приложение не принимает и не хранит закрытый ключ подписи, поэтому обычная поставка на сервер заказчика не содержит материала, с помощью которого можно выпустить новую действительную лицензию версии 2.
nv2.*Narvelium на собственном сервере → только открытый ключ Ed25519 → проверка на месте
Проверяются подпись, издатель, версия и алгоритм, срок действия и привязка к конкретной установке.
2. Постоянный идентификатор установки
Основной идентификатор в лицензии версии 2 — постоянный installation_id (UUID), который создаётся один раз и хранится в файле /app/data/installation-id с ограниченными правами доступа. Он не зависит от MAC-адреса и имени узла Docker и сохраняется при обычной перезагрузке и пересоздании контейнера, если постоянные данные не удаляются.
Прежний идентификатор оборудования используется только для совместимости со старой схемой HMAC версии 1 и не является основным в публичной модели версии 2.
3. Narvelium Starter
Условия редакции Starter: бесплатно, 12 месяцев, одна организация, одна активная установка, до 5 активных пользователей. Повторную регистрацию нельзя использовать как способ получить вторую бесплатную установку для той же организации: перенос выполняется по отдельной процедуре перерегистрации установки.
4. Ограничение числа пользователей и права на модули
Подписанные данные лицензии версии 2 содержат предельное число активных пользователей и подписанный перечень прав на модули. Доступ проверяется на стороне сервера как пересечение профиля установки ∩ прав из лицензии ∩ прав пользователя; скрытие кнопки в интерфейсе не заменяет серверную проверку.
Ограничение числа активных пользователей проверяется средствами PostgreSQL, поэтому единый предел действует для всех способов создания учётных записей: по электронной почте, из каталога AD, через OIDC, из интерфейса администратора и при массовом импорте, включая одновременные запросы. При превышении предела новый активный пользователь не может незаметно обойти условия лицензии.
5. HMAC версии 1 — только для перехода с прежней схемы
Прежняя схема HMAC-SHA256 сохранена для упорядоченного перевода уже работающих установок. В публичной и коммерческой установке версии 2 её необходимо отключить:
LICENSE_V2_PUBLIC_KEY_PATH=/app/certs/narvelium-license-public.pem
При отключённой версии 1 приложение отклоняет старые ключи HMAC и не создаёт локальную пробную лицензию по схеме HMAC. Это исключает возврат с версии 2 к самостоятельно сформированным данным с общим секретом.
6. Срок действия и отзыв
Лицензия версии 2 определяет состояние по подписанным данным: действует, истекла или недействительна. Истёкшая лицензия не даёт доступа к рабочим местам и правам на модули. Однако мгновенный отзыв лицензии, установленной полностью без связи с сервером лицензий, не гарантируется без отдельного механизма проверки состояния: проверка подписи на месте сама по себе не узнаёт о серверном отзыве, пока установка не получит новое состояние.
Единый режим работы только для чтения после истечения срока для всех редакций в объём лицензии не входит.
7. Перенос установки
При корректном создании и восстановлении резервной копии постоянных данных data/app идентификатор установки сохраняется. Если создаётся действительно новая установка, необходим управляемый перенос: прежняя регистрация закрывается и отзывается, после чего выпускается лицензия версии 2 на новый installation_id.
8. Что не входит в объём лицензии
- отдельный офлайн-файл лицензии
.nvlicс обменом запросом и ответом; - TPM 2.0 как обязательный источник идентификатора установки;
- мгновенный отзыв лицензии без связи с сервером лицензий;
- полностью автоматизированное самостоятельное продление лицензии и перенос установки;
- единый режим работы только для чтения после истечения срока для всех редакций.
Перечисленные возможности в текущий объём лицензии не входят. Действующая лицензия Ed25519 версии 2, постоянный идентификатор установки, подписанный перечень прав на модули и контроль числа активных пользователей уже работают в платформе — именно это определяет объём лицензии сегодня.