UTILS.
100% en el navegador
🗝️

Generador de pares de claves RSA / EC (exportación PEM)

Genera un par de claves RSA o EC en tu navegador con WebCrypto y exporta las claves pública y privada como PEM o JWK. Las claves nunca salen de tu dispositivo.

Las claves se generan localmente en tu navegador — la clave privada nunca se sube.

— la salida aparece aquí —
— la salida aparece aquí —

Acerca de esta herramienta

El Generador de pares de claves RSA / EC crea un par de claves asimétricas enteramente en tu navegador usando la API nativa WebCrypto (crypto.subtle.generateKey), y luego lo exporta en los formatos que realmente pegas en archivos de configuración y código. Nada se transmite ni se almacena en un servidor: la clave privada se genera en tu dispositivo, se muestra una vez, y se descarta cuando abandonas la página. Esto lo hace una forma segura de acuñar claves para herramientas afines a SSH, firma de JWT, experimentos con TLS, o para aprender cómo encajan los formatos de clave pública.

Para RSA eliges una longitud de módulo de 2048, 3072 o 4096 bits con el exponente público estándar 65537, y si la clave es para firma (RSASSA-PKCS1-v1_5, SHA-256) o cifrado (RSA-OAEP, SHA-256). Para claves de curva elíptica eliges una curva NIST —P-256, P-384 o P-521— y si es para firma (ECDSA) o acuerdo de clave (ECDH). Los módulos RSA más grandes y las curvas más altas son más fuertes pero más lentos de generar; RSA-4096 en particular puede tardar unos segundos en el navegador.

La exportación se hace con exportKey de WebCrypto: la clave pública como SubjectPublicKeyInfo (SPKI) y la clave privada como PKCS#8, codificadas en base64 y ajustadas a 64 caracteres por línea dentro de los marcos -----BEGIN PUBLIC KEY----- / -----BEGIN PRIVATE KEY-----. Cambia el interruptor de formato a JWK para obtener en su lugar la representación JSON Web Key. Como la generación es local y sin conexión, la clave privada nunca se sube: cópiala en un lugar seguro antes de cerrar la pestaña, ya que no se puede recuperar después.

Preguntas frecuentes

¿Se envían las claves privadas a un servidor?
No. Las claves se generan localmente por el motor WebCrypto de tu navegador y se exportan en la página. La clave privada nunca sale de tu dispositivo y no se almacena en ningún sitio, así que cópiala en un lugar seguro antes de cerrar la pestaña: no se puede recuperar después.
¿Qué tamaño de clave o curva debería elegir?
RSA-2048 es la base común; 3072 o 4096 dan más margen a costa de una generación más lenta y claves más grandes. Para EC, P-256 es rápida y ampliamente compatible, mientras que P-384 y P-521 ofrecen niveles de seguridad más altos. Las claves EC son mucho más pequeñas que las RSA para una fuerza comparable.
¿Cuál es la diferencia entre la salida PEM y JWK?
PEM es el formato DER en base64 envuelto en líneas BEGIN/END que la mayoría de servidores y OpenSSL esperan: SPKI para la clave pública y PKCS#8 para la privada. JWK es el objeto JSON Web Key usado por las bibliotecas de JavaScript y JOSE/JWT. Ambos describen el mismo par de claves.
Firma frente a cifrado: ¿qué cambia?
Selecciona el algoritmo para el que se crea la clave. La firma RSA usa RSASSA-PKCS1-v1_5 y el cifrado usa RSA-OAEP; la firma EC usa ECDSA y el acuerdo de clave usa ECDH. Una clave generada para un propósito queda ligada a ese algoritmo, así que elige según cómo la vayas a usar.

Más herramientas