Saltar al contenido

8. Construir, firmar e instalar ​

Construir ​

bash
npm run build

Genera dist/notas-1.1.0.zip con plugin.json, checksums.json (sha256 de cada fichero), api/index.mjs, migrations/*.sql y admin/. Sin firmar: la instalación lo rechazaría. hury-plugin build --bump sube la versión patch en plugin.json antes de compilar.

Firmar con tu clave ​

La firma Ed25519 se hace sobre los bytes de checksums.json. La haces tú, con tu clave: la clave oficial de Hury no sale del equipo del autor y no existe ninguna web que firme con ella. Ver Seguridad del desarrollador.

bash
hury-plugin keygen

Crea tu par Ed25519 en ~/.hury/dev-plugin-signing.pem (permisos 600) y, si ya existe, no lo sobrescribe. Imprime la huella de la clave y la clave pública en el formato de PLUGIN_TRUSTED_KEYS. Guarda la clave privada en tu gestor de contraseñas y haz una copia: no se puede recuperar, y con otra clave tus plugins ya instalados dejarían de actualizarse. No la subas a ningún repositorio ni la compartas.

bash
hury-plugin sign dist/notas-1.1.0.zip

Escribe plugin.sig dentro del zip. Se niega a firmar un zip cuyo contenido no coincida con su checksums.json, y se autocomprueba con la clave pública derivada. También puedes firmar en el navegador con el firmador, sin instalar nada: la clave y el zip no salen de tu equipo.

Verificar ​

bash
hury-plugin verify dist/notas-1.1.0.zip --key "$(hury-plugin pubkey)"

Comprueba exactamente lo que comprobará el instalador: el zip, la firma contra la clave indicada, las huellas de cada fichero, plugin.json y la apiVersion (2 en el host actual). Termina con código de salida 0 solo si todo es válido.

Instalar ​

Una instalación acepta por defecto solo la clave de Hury. El dueño de la instalación decide aceptar la tuya añadiéndola, en el servidor, a la variable de entorno PLUGIN_TRUSTED_KEYS de la API (nunca desde la interfaz). Es una decisión explícita sobre su propio sistema, y se revierte quitándola.

bash
PLUGIN_TRUSTED_KEYS="LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0K…"   # la salida de «hury-plugin pubkey»

Con la clave añadida, sube el .zip en Ajustes → Módulos → Subir un .zip, enciende el módulo y pruébalo. En el gestor y el Marketplace tu plugin aparece como «Clave de confianza 0a59a379» (los 8 primeros caracteres hexadecimales del SHA-256 de tu clave pública), nunca como oficial, y esa huella queda en la auditoría de la instalación. Detalles: Confiar en una clave.

Esta guía comprueba el paquete que acabas de firmar con el propio instalador de la API: con una instalación que solo acepta la clave de Hury, lo rechaza; con tu clave en PLUGIN_TRUSTED_KEYS, lo acepta y lo marca como firmado por una clave de confianza, no oficial.

Después ​

Contrato con el host: apiVersion 2. Sitio estático: no recoge datos ni usa servicios de terceros.