Криптографическое лицензирование для on-prem ПО. Каждая лицензия — токен, подписанный Ed25519. Подделать нельзя, проверить можно даже оффлайн.
Доказательства
Эллиптическая кривая, подписывающая каждую лицензию
Дней автономной работы без связи с сервером лицензий
Self-hosted: разворачивается целиком в вашем контуре
Глубина иерархии компаний-клиентов и суб-дилеров
Возможности/01
Спецификация протокола
eyJhbGciOiJFZERTQSJ9.eyJmZWF0IjpbImFwaSJdLCJleHAiOjE3OTg3NjE2MDB9.4kX9vQ2mR8pLnJ3tYwB6hZ
SIGNATURE VALID
Криптозащищённые лицензии
Вся конфигурация — фичи, лимиты, срок — живёт внутри подписанного токена. Изменить хоть байт — подпись рассыпается.
Multitenant-дерево компаний
Иерархия любой глубины: дилеры, филиалы, клиенты. Роль, выданная узлу, наследуется всем его поддеревом.
день 30/30
Оффлайн-режим
Лицензия проверяется локально по публичному ключу — до 30 дней без сервера.
Webhooks
Активация, истечение, отзыв — события мгновенно прилетают в ваш биллинг или CRM.
10:41:07 issue LIC-83A2 → dealer/east
10:41:52 activate fp 9F3A-C41D
10:43:10 webhook delivered · 200
10:44:00 rotate key #17 → #18
10:45:31 revoke LIC-5D11
10:46:02 login admin@hq
Аудит всех действий
Каждый выпуск, отзыв и вход администратора — в неизменяемом журнале.
Ротация ключей
Смена ключевых пар без простоя: старые лицензии продолжают проверяться.
Как работает/02
Конвейер живой лицензии
Прокрутите — конвейер проведёт лицензию от чертежа до работающего продукта.
Шаг 1 · Шаблон
Опишите продукт один раз
Фичи, лимиты, срок действия, каналы обновлений — всё в шаблоне лицензии. Он становится чертежом каждого выпущенного ключа.
template: enterprise-annual.yaml
{
"product": "ERP-X",
"features": ["reports", "api", "sso"],
"seats": 500,
"expires": "2027-01-01",
"channels": ["stable"]
}
Шаг 2 · Подпись Ed25519
Сервер запечатывает токен
Конфигурация подписывается приватным ключом Ed25519. Один изменённый байт — и подпись не сходится: подделка исключена математически.
sig = Ed25519.Sign(payload)
sig = 4kX9vQ2mR8pLnJ3tYwB6hZ
Шаг 3 · Активация
Привязка к железу
SDK вычисляет hardware fingerprint машины и активирует ключ. Лицензия работает только там, где была выдана.
fp: 9F3A-C41D-88E2-07B6
activated
fp 9F3A-C41D-88E2-07B6
Шаг 4 · Heartbeat
Пульс, который не душит
Приложение периодически отмечается на сервере. Связь пропала? Лицензия живёт автономно до 30 дней, а после — мягкая деградация.
POST /heartbeat → 200 alive
SDK/03
Живой терминал
Один NuGet-пакет: клиент активирует ключ, кэширует подписанный токен и проверяет его локально — публичным ключом Ed25519, без обращения к серверу.
using CertifiEd.Client;
// Подключение к вашему серверу лицензийvar client = new CertifiEdClient(new CertifiEdOptions{ ServerUrl = "https://licenses.company.tj", PublicKey = Ed25519.PublicKey("MCowBQYDK2VwAyEA…"), OfflineTtl = TimeSpan.FromDays(30)});
// Активация с привязкой к железуvar license = await client.ActivateAsync( key: "CFED-7K2M-9XQ4-TR8B-ED25", fingerprint: HardwareId.Compute());
// Feature-флаги прямо из подписанного токенаif (license.HasFeature("reports.export")){ ExportModule.Enable(license.Limit("reports.rows"));}$dotnet run
>license CFED-7K2M-9XQ4-TR8B-ED25
>verify Ed25519 ········ OK
>features ["reports.export", "api.access", "sso"]
>offline grace 30d · fp 9F3A-C41D
✓activated — флаги доставлены приложению
- reports.export✓
- api.access✓
- sso✓
- billing.premiumнет в лицензии
Лицензионный ключ
CFED-7K2M-9XQ4-TR8B-ED25
Подпись Ed25519 проверена
- Feature-флаги и лимиты читаются из самого токена
- Оффлайн-проверка: сервер не нужен до 30 дней
- REST API для остальных стеков — Java, Go, Python
Безопасность/04
Паранойя как архитектурный принцип
Приватные ключи спят в сейфе AES-256-GCM
CertifiEd спроектирован для контуров, куда интернет не заходит в принципе: банки, промышленность, госсектор. Единственное, что покидает периметр, — ничего.
0исходящих соединений за пределы контура
AES-256-GCM для приватных ключей
Ключи подписи хранятся только в зашифрованном виде и расшифровываются в памяти на время операции.
Ротация без простоя
Смена ключевых пар по расписанию или по тревоге. Выпущенные лицензии продолжают проверяться старым публичным ключом.
Полный аудит
Неизменяемый журнал каждого действия: выпуск, активация, отзыв, вход администратора. Экспорт в SIEM.
Ничего не уходит в облако
Ни телеметрии, ни «звонков домой». Платформа целиком живёт в вашей инфраструктуре — вплоть до air-gap.
Готовы начать
Подпишите свой продукт. Математика сделает остальное
Покажем платформу на вашем сценарии: иерархия клиентов, оффлайн-режим, ротация ключей. Полчаса — и вы поймёте, подходит ли CertifiEd.
Уже клиент? Войти в кабинет