Guía
Visión general
Qué es Keyright y por dónde empezar: un servicio de emisión alojado más un SDK para .NET que ofrece archivos de licencia offline y activación en línea.
Keyright es infraestructura de licenciamiento para proveedores de software: un servicio de emisión respaldado por Postgres (una Minimal API de ASP.NET Core) más SDK nativos para .NET, Node.js, Python y Java que tu aplicación integra para verificar licencias — o, para cualquier otro lenguaje, una pequeña API HTTP que invocas directamente. Emite archivos de licencia offline firmados y leases de activación en línea, aplica bloqueo por equipo y puestos, lleva derechos/niveles, y es multi-inquilino con claves de firma RSA por inquilino. Cada SDK verifica el mismo formato firmado idéntico, de modo que una línea de productos en varios lenguajes comparte un inquilino y una clave pública. Es compatible a nivel de protocolo con el licenciamiento de Nebula.NET.
Empieza aquí, según lo que estés intentando hacer.
Integrar el licenciamiento en tu aplicación
- Primeros pasos — el recorrido de principio a fin: obtener una clave de firma, emitir tu primera licencia, verificarla en tu aplicación (offline + en línea) y una lista de comprobación para salir a producción.
- Elige tu SDK — un recorrido completo del cliente por lenguaje: .NET, Node.js, Python, Java. ¿No hay SDK para tu lenguaje? Usa la API HTTP directamente (Go, Rust, C++, PHP…) — incluyendo cómo verificar tú mismo la firma de un lease.
- Pruebas gratuitas de autoservicio — habilita pruebas por producto, deja que los clientes obtengan por sí mismos una clave de prueba desde tu propio sitio y reparte archivos de prueba offline para evaluadores aislados.
Entender el modelo
- Activación y desactivación — cada ruta de activación y desactivación para licencias de prueba, anuales (por plazo) y perpetuas: en línea, offline/aisladas y del lado del proveedor — y exactamente qué ve tu aplicación en cada caso.
- Seguridad y el modelo de leases — la explicación honesta de cómo se protegen las claves y los leases, por qué una licencia de un solo puesto no puede ejecutarse en dos equipos ni siquiera offline, qué significa realmente “a prueba de manipulación” y cómo se renueva y se comporta offline el lease de corta duración.
Operar y administrar
- Panel de administración — el panel web en
/dashboard: inicio de sesión (correo/contraseña + TOTP, o Google/GitHub), la vista general de Inicio, Productos, Licencias, Equipo, Integración y Configuración. - Referencia de la API HTTP — un mapa legible de cada endpoint (Runtime
/v1/*, Admin/admin/*, Platform/platform/*, Auth/auth/*, Plans, Webhooks) con método, ruta y autenticación.
Conceptos clave en un párrafo
Un inquilino es un espacio de trabajo aislado de proveedor con su propia clave de firma (RSA; la clave privada se almacena cifrada con AES-256-GCM bajo la KEK del servicio). Un inquilino define productos, cada uno con niveles (número de puestos + plantillas de derechos). Una licencia se emite para un producto/nivel a un licenciatario, con un número de puestos y un vencimiento opcional. Tu aplicación o bien se distribuye con un archivo de licencia offline firmado, o bien realiza activación en línea: hace POST de la clave de licencia + un id de equipo estable a /v1/activate y recibe de vuelta un lease firmado de corta duración vinculado a ese equipo; el SDK verifica el lease contra la clave pública integrada y re-activa antes del vencimiento. Los planes (Free/Starter/Growth/Scale/Enterprise) delimitan las cuotas de un inquilino (licencias activas, productos).