Licero Server — полностью автономный сервер лицензий.
Разворачивается на вашей инфраструктуре, работает без внешних зависимостей.
Выдавайте лицензии контрагентам на конкретные проекты. Гибкие сроки действия, отзыв в любой момент.
Каждый ключ проекта — RSA-2048 пара. Клиенты верифицируют лицензии локально через JWKS без обращения к серверу.
REST API для продления лицензий прямо из вашего приложения. Лог всех операций продления с фильтрацией.
Несколько проектов, несколько контрагентов. Изолированные ключевые пары для каждого проекта.
Два сервера: публичный API для клиентов и закрытый admin-интерфейс. Интеграция с любой платформой.
Встроенный admin UI. Управление проектами, ключами, контрагентами и лицензиями через браузер.
Licero — сервер лицензий для компаний, которые разрабатывают собственное программное обеспечение и хотят централизованно управлять лицензированием своих продуктов.
Вы поставляете свой софт клиентам и хотите контролировать срок его использования
Вашему продукту нужна проверка лицензии без постоянной зависимости от внешних облачных сервисов
Вам нужно развернуть систему лицензирования внутри своего периметра, без передачи данных наружу
Вам нужен управляемый механизм активации, продления и прекращения доступа к функциям программы
Вы разработали программу, которую планируете поставлять клиентам. В веб-интерфейсе Licero вы создаёте новый проект и задаёте ему название — обычно это название вашего программного продукта.
В Licero создаётся пара ключей: приватный ключ хранится на сервере и используется для подписания лицензий; публичный ключ встраивается в ваш продукт и используется для проверки подлинности лицензии.
В вашей программе реализуются два механизма: проверка подписи лицензии публичным ключом и периодическое обращение к серверу Licero за обновлённой лицензией. Это позволяет не только активировать продукт, но и автоматически продлевать его работу в рамках действующего договора.
В Licero создаётся договор, в котором указываются: клиент, период действия, параметры лицензирования и при необходимости — максимальный срок, на который может выдаваться очередная лицензия.
После создания договора выпускается первая лицензия для клиента. Обычно клиент вводит её вручную в интерфейсе вашего продукта при первичной активации.
После ввода лицензии ваш софт проверяет подпись и срок действия, после чего активирует программу. Всё происходит локально — без обращения к серверу.
Во время работы программа периодически передаёт текущую лицензию серверу Licero. Если до истечения осталось более 30% срока — сервер вернёт тот же токен. Если меньше — выдаст новый с обновлённым сроком, а старый автоматически отзовёт. Для клиента это происходит прозрачно и незаметно.
Сервер никогда не выдаст лицензию с датой окончания позже даты завершения договора. Когда срок договора истекает, программа больше не сможет продолжить работу без продления.
Ваш софт контролирует срок действия текущей лицензии. При истечении программа останавливает оказание услуг, блокирует доступ к лицензируемым функциям и уведомляет пользователя о необходимости продления.
Если договор был продлён, программа снова обращается в Licero за новой лицензией — даже если текущая уже истекла. Главное условие: передаваемая лицензия должна быть валидна по подписи. Это позволяет безопасно восстановить работу без ручной перевыдачи.
Лицензирование контролируется централизованно — все договоры, лицензии и ключи в одном месте
Публичный ключ можно безопасно встраивать в продукт — даже при его утечке подделать лицензию невозможно
Лицензии обновляются автоматически — без ручных действий со стороны клиента
Прекращение договора автоматически ограничивает работу продукта — никакой ручной блокировки на стороне клиента
Система разворачивается внутри контура компании — данные не покидают вашу инфраструктуру
Интегрируйте лицензирование в ваше приложение за несколько шагов
Licero предоставляет два HTTP-сервера. Клиентский API предназначен для интеграции в сторонние приложения: проверка и продление лицензий. Он должен быть доступен клиентским машинам извне. Админ-интерфейс используется только для управления и не должен быть открыт наружу.
8080 · Публичный · Для интеграции в приложение
8081 · Только внутри сети · Управление проектами и лицензиями
http://your-server:8080/api/v1
application/json
RS256 (JWT)
Лицензия — это подписанный JWT (RS256). Токен содержит заголовок и набор claims:
Заголовок (header)
Полезная нагрузка (payload)
Продлевает лицензию. Принимает текущий JWT (в том числе истёкший). Поведение зависит от оставшегося срока:
Клиент должен всегда сохранять возвращённый токен — он может быть как прежним, так и новым.
Заголовки запроса
Успешный ответ (200)
Коды ответов
| Код | Значение | Действие клиента |
|---|---|---|
| 200 | Новый токен выдан | Сохранить токен, проверить exp нового токена |
| 400 | Отсутствует или некорректен заголовок Authorization | Проверить формат запроса |
| 401 | Подпись JWT невалидна | Лицензия повреждена или подделана |
| 402 | Договор с контрагентом истёк | Уведомить пользователя об окончании договора |
| 404 | Лицензия, проект или контрагент не найден | Проверить целостность токена |
| 500 | Внутренняя ошибка сервера | Повторить позже |
exp в прошлом). Проверяйте exp возвращённого токена после каждого renew. При выдаче новой лицензии старая отзывается автоматически — не используйте старый токен повторно.
Возвращает набор публичных ключей проекта в формате JWKS (RFC 7517). Используйте для верификации подписи JWT на стороне клиента. Ответ кэшируется 1 час. Авторизация не требуется.
Параметры пути
Возвращает публичный ключ в формате PEM. Альтернатива JWKS для библиотек, которые предпочитают PEM. Авторизация не требуется.
Параметры пути
/public.jwk или /public.pem и закэшируйте его.
exp. Это быстро и не требует сети.
POST /license/renew с текущим токеном. Сервер сам решает: вернёт тот же токен (если до истечения > 30% срока) или выдаст новый. Всегда сохраняйте возвращённый токен.
exp возвращённого токена. Если он в прошлом — лицензия отозвана. Заблокируйте доступ к функциям.