Generador de claves EC
Genera un par de claves de curva elíptica en P-256, P-384 o P-521 para firmas ES256, ES384 o ES512, ECDH y certificados TLS. El resultado incluye la clave privada como PKCS #8 PEM sin cifrar, la clave pública como SPKI PEM, una línea de clave pública OpenSSH ecdsa-sha2 con su huella SHA-256 y la huella digital JWK RFC 7638. Cada par se genera desde cero con el módulo crypto de Node y nunca se almacena.
Preguntas frecuentes
¿Qué curva debería elegir?
P-256 (también llamada prime256v1 o secp256r1) es la curva con mayor compatibilidad y ofrece unos 128 bits de seguridad. P-384 ofrece unos 192 bits y es obligatoria en algunos perfiles gubernamentales, como CNSA. P-521 es la curva NIST más grande y tiene menos compatibilidad, así que elígela solo si un sistema la solicita.
¿Qué algoritmo JWT corresponde a cada curva?
Las claves P-256 firman con ES256, las claves P-384 con ES384 y las claves P-521 con ES512. JOSE asigna exactamente una curva a cada algoritmo, por lo que el generador JWT rechaza las claves que usan una curva incorrecta. El resultado indica el algoritmo correspondiente a tu clave.
¿Qué formatos se devuelven?
La clave privada está codificada en PEM PKCS #8 (BEGIN PRIVATE KEY) y la clave pública en PEM SubjectPublicKeyInfo (BEGIN PUBLIC KEY) con la curva designada. También obtienes la línea ecdsa-sha2-nistp256, nistp384 o nistp521 que OpenSSH requiere en authorized_keys.
¿Cómo obtengo el formato SEC1 (BEGIN EC PRIVATE KEY)?
Algunas herramientas todavía requieren la codificación SEC1 anterior. Con OpenSSL 3, ejecuta openssl pkey -in key.pem -traditional -out key-ec.pem o openssl ec -in key.pem -out key-ec.pem. La clave sigue siendo la misma.
¿Puedo crear una solicitud de firma de certificado con esta clave?
Sí. Guarda el PEM privado y ejecuta openssl req -new -key key.pem -subj "/CN=example.com" -out request.csr; luego comprueba la solicitud con el decodificador CSR. Las autoridades de certificación aceptan claves P-256 y P-384 para certificados TLS.
¿Por qué las claves EC son más pequeñas que las claves RSA?
La criptografía de curva elíptica alcanza el mismo nivel de seguridad con claves mucho más cortas, por lo que una clave P-256 equivale aproximadamente a una clave RSA de 3072 bits. Las firmas son más cortas y la firma es más rápida. La clave pública ocupa 65 bytes en P-256.
¿La clave privada está protegida con una frase de contraseña?
No, se devuelve sin cifrar para que otras herramientas puedan leerla directamente. Cífrala para almacenarla con openssl pkey -in key.pem -aes256 -out key-encrypted.pem. Nunca confirmes una clave privada sin cifrar en un repositorio.
¿Para qué se usa la huella digital JWK?
La huella digital RFC 7638 es un hash SHA-256 en base64url de los miembros crv, kty, x e y de la clave. Es un identificador estable de la clave que no depende del formato PEM o JWK y funciona bien como kid en encabezados JWT y documentos JWKS.
¿Se almacena el par de claves?
No. El par se genera en memoria para tu solicitud, se devuelve una sola vez y nunca se registra ni se guarda. Copia ambas claves antes de salir de la página, porque no volverán a mostrarse.
¿Qué cambia el campo de comentario?
Solo añade una etiqueta al final de la línea de clave pública OpenSSH, como user@laptop, para que sea fácil reconocer la clave en authorized_keys. Las huellas y el material de la clave siguen siendo iguales. El comentario puede tener hasta 200 caracteres.