Esta herramienta realiza firmas digitales asimétricas — la criptografía detrás de la firma de código, la procedencia de software (Sigstore/SLSA), la firma de documentos y las APIs autenticadas.
Dos modos:
- Firmar: pega un mensaje y una clave privada PEM, obtén una firma base64.
- Verificar: pega un mensaje, una clave pública PEM y una firma base64, obtén VÁLIDO/NO VÁLIDO.
Tres algoritmos (deben coincidir con el tipo de clave que pegues):
- RSA-PSS (SHA-256) — el esquema moderno de firma RSA (probabilístico, con salt). Preferido sobre el antiguo PKCS#1 v1.5. Requiere clave RSA.
- ECDSA (P-256, SHA-256) — firmas de curva elíptica; claves más cortas que RSA para seguridad equivalente. Usa la codificación IEEE P1363 (
r‖s) para salida determinista de ancho fijo. Requiere clave EC P-256 (prime256v1).
- Ed25519 — EdDSA rápido y determinista sobre Curve25519; una longitud de firma (64 bytes), sin selección de parámetros. Requiere clave Ed25519.
Cómo usar. Primero genera un par de claves con el RSA Key Generator o SSH Key Generator (esta herramienta no genera claves). Luego:
- Firma un mensaje con la clave privada → copia la firma base64.
- Entrega al destinatario el mensaje + firma + tu clave pública.
- El destinatario pega los tres aquí, elige el algoritmo coincidente y verifica.
Coincidencia clave/algoritmo. El algoritmo debe coincidir con el tipo de clave: RSA solo con RSA-PSS, EC P-256 con ECDSA, Ed25519 con Ed25519. Una discrepancia da error de verificación.
Seguridad. Todo el firmado ocurre localmente en tu navegador vía el módulo crypto de Node — la clave privada nunca sale de tu dispositivo. Las firmas son no repudiables: solo el titular de la clave privada pudo haber producido una firma que la clave pública verifica.