Ir al contenido
FINORA Academy
SistemaFINORA Plataforma

FINORA Plataforma · Guía

Sincroniza y verifica las licencias en el core

ImplementadoImplementadoIntermedio15 min

Antes, la consola emisora tiene que haber emitido las llaves de la instalación: Emite las llaves de una institución.

El core se configura en su entorno (lo deja listo el alta de la celda, o el instalador en una instalación propia):

VariableQué contiene
FINORA_LICENSE_INSTALLATION_IDEl ID de instalación, idéntico al de la consola emisora
FINORA_LICENSE_MODULE_KEYSLas claves públicas de firma, como kid:clave, separadas por coma
FINORA_LICENSE_SERVER_URLLa dirección de la consola emisora vista desde el core (https://<su-emisor>); vacía, la sincronización está apagada
FINORA_LICENSE_SERVER_INSTALLATION_KEYLa clave de sincronización que la consola mostró una sola vez
FINORA_LICENSE_SERVER_CRONCada cuánto sincroniza; por defecto, cada seis horas
FINORA_LICENSE_SERVER_STARTUP_DELAYCuánto espera tras arrancar para la primera sincronización; por defecto, 60 segundos
FINORA_LICENSE_ENFORCE_NEW_MODULEStrue bloquea los módulos nuevos sin concesión; por defecto false

Para ver y operar las pantallas necesitas el rol License Module Administrator (license-module-admin) o un administrador total.

  1. Abre Administración → Concesiones de módulo. En la cabecera verás la Instalación del core y el estado de la última sincronización, por ejemplo «Última sincronización: … — OK». Si dice «Sincronización apagada», falta la dirección de la consola emisora; si dice «Instalación sin definir», falta el ID de instalación.

  2. Pulsa Sincronizar ahora. El core pide a la consola emisora sus llaves vigentes y la última lista de revocación, las verifica una por una y te informa «Sincronización terminada: OK».

  3. Revisa la tabla: una fila por concesión, con Módulo, Estado (ACTIVE, REVOKED o EXPIRED), Vigente desde, Vigente hasta, Id de concesión, Licenciatario, Origen (SYNC si llegó por sincronización, MANUAL si se importó a mano), cuándo y quién la importó, y la Clave (kid).

Para un core que no alcanza la consola emisora:

  1. Pide al administrador de licencias el resultado de Concesiones → Exportar vigentes: las llaves FNM1, una por línea, y al final la última FNR1.

  2. En Concesiones de módulo, despliega Importar llaves, pega el contenido en Llaves FNM1 (concesión) o FNR1 (revocación) y pulsa Importar llaves.

  3. Lee el Resultado por llave: cada línea dice ACEPTADA o RECHAZADA con su código. Las revocaciones se aplican primero, y repetir una llave no tiene efecto (ALREADY_IMPORTED).

Abre Administración → Módulos licenciables. Arriba, un aviso dice cómo está aplicando el core las licencias:

AvisoSignifica
«Sin licencia registrada: el core no aplica restricciones de módulo.»No hay licencia firmada: todo está abierto
«Se bloquean los módulos legacy sin columna activa ni concesión vigente. Los módulos nuevos no se bloquean…»El modo normal hoy
«Se bloquea todo módulo sin columna activa ni concesión vigente, incluidos los nuevos.»El interruptor de módulos nuevos está encendido

La tabla trae una fila por módulo del catálogo (21 hoy) con Código, Módulo, Categoría, Habilitado, Licenciado, Origen (LEGACY si lo habilita la casilla de la licencia clásica, GRANT si lo habilita una concesión), Vigente hasta, Se bloquea, Columna legacy, Concesión y Rutas API. Pulsa Actualizar después de sincronizar.

Lo mismo por API, con el alcance license:read: GET /v1/license/modules en el gateway (https://<su-gateway>/v1/license/modules) o GET /api/v1/ext/license/modules en el core.

TareaPetición en el coreAlcance
Ver el estado por móduloGET /api/v1/ext/license/moduleslicense:read
Importar llaves FNM1 o FNR1POST /api/v1/ext/license/grants con {"keys": [...]}license:write
Sincronizar ahoraPOST /api/v1/ext/license/grants:synclicense:write

grants:sync responde 409 sync-in-progress si ya hay una sincronización en curso y 503 si la dirección de la consola emisora no está configurada.

Código de rechazoPor quéQué hacer
INSTALLATION_MISMATCHLa llave es de otra instalaciónRevisa que el ID de instalación del core sea el mismo de la consola emisora
INSTALLATION_UNBOUNDEl core no tiene ID de instalaciónConfigura FINORA_LICENSE_INSTALLATION_ID
UNKNOWN_KIDFalta la clave pública con que se firmóAgrega a FINORA_LICENSE_MODULE_KEYS la línea que da Claves de firma en la consola emisora
BAD_SIGNATURELa llave se alteró o se copió incompletaCópiala de nuevo, completa y en una sola línea
EXPIRED / NOT_YET_VALIDFuera de su vigenciaRenueva la suscripción o espera su fecha de inicio
UNKNOWN_MODULEEl módulo no está en el catálogo del coreActualiza el core a un corte que lo incluya
La sincronización da HTTP 401Clave de sincronización errónea o rotadaConfigura la clave vigente
La sincronización da HTTP 423La instalación está suspendida o de baja en la consola emisoraReactívala si corresponde