Generador de JWK — Convierte PEM a JWK y genera JWKS

Genera y convierte claves criptográficas en formatos PEM y JWK para firmar y cifrar de forma segura.

Nuestro ligero generador de JWK se ejecuta por completo en tu navegador: ninguna clave sale de tu máquina. Úsalo para convertir PEM a JWK, convertir JWK a PEM o generar claves nuevas y exportar un JWKS para tu endpoint jwks_uri. Más información: Qué es JWKS
Ver el código fuente: https://github.com/authgear/authgear-widget-jwk-generator

PEM a JWK
Pega una clave o un certificado X.509 en formato PEM, define el kid, elige alg y use (sig / enc) y haz clic en Generar JWK. Convierte PEM → JWK en el formato jwk estándar para añadir el JWK a un JWKS o usarlo directamente en librerías JOSE (jose de Node, jwcrypto de Python, etc.).
JWK a PEM
Pega un objeto JSON JWK y exporta una clave en formato PEM para CLI, servidores o herramientas antiguas. Usa JWK a PEM cuando necesites una clave pública PEM para OpenSSL o librerías de servidor, manteniendo los metadatos kid, alg y use en tu conjunto de claves.
Generar JWK
Crea claves nuevas con el modo generador de JWK. Elige el uso de la clave (firma sig o cifrado enc), el tipo (RSA, EC, OKP u oct) y configura tamaño, curva o parámetros. El generador sugiere valores de alg y crea automáticamente un kid que puedes editar. Puedes obtener un único JWK o un JWKS completo (jwks.json) listo para publicar.

Cómo funciona el generador de JWK

Paso 1.
Convierte entre PEM y JWK:
  • Pega tu clave PEM para convertirla al formato JSON Web Key, o al revés.
  • Copia la clave convertida para usarla en tus aplicaciones.
  • ¿Por qué usar PEM → JWK? Muchas librerías y plataformas de identidad esperan JWK/JWKS. Convertir PEM a JWK hace que tus claves sean consumibles por los flujos de verificación de JWT y por cualquier servicio que lea un jwks.json en un jwks_uri.
Paso 2.
Genera claves nuevas:
  • Indica si quieres una clave para tareas de firma o de cifrado.
  • Elige el tipo de clave adecuado a tus necesidades de seguridad: simétrica (oct), RSA o de curva elíptica (EC u OKP).
  • Selecciona el algoritmo criptográfico que encaje con los requisitos de tu sistema (p. ej., RS256 para firma RSA).
  • Recibe las claves generadas:Simétrica:
  • a. Cadena de clave secreta + JSON JWK.
  • b. Asimétrica: claves privada y pública en formato PEM + los objetos JWK correspondientes para la parte privada y la pública.
Paso 3.
Usa tus claves de forma segura:
  • Utiliza estas claves para firmar o cifrar JWT.
  • Publica conjuntos JWK en tus servidores de autorización para el descubrimiento de claves.
  • Rota y gestiona las claves con facilidad para una postura de seguridad sólida.

Qué es un JWK (JSON Web Key)?

Un JWK es una estructura de datos JSON que representa una clave criptográfica. Un JWKS (JSON Web Key Set) es un objeto con un array keys de JWK. JWKS es el formato estándar que usan los proveedores de identidad para publicar claves públicas en un jwks_uri, de modo que los clientes puedan validar tokens JWT (ver RFC 7517). Si buscaste «qué es jwks» o «jwks uri», este es el formato que necesitas.
Formato JSON legible por máquinas, fácil de usar en API web
Admite todos los tipos de clave, simétricas y asimétricas
Facilita la rotación y gestión de claves en aplicaciones modernas

Qué es PEM

PEM (Privacy Enhanced Mail) es el formato codificado en base64 que se usa habitualmente para almacenar y compartir claves y certificados criptográficos. Usa conversiones de PEM a JWK para que tus claves PEM puedan ser consumidas por endpoints JWKS y librerías JOSE modernas.
Como PEM no es más que datos DER codificados en Base64, puedes inspeccionar los bytes en bruto con nuestra herramienta gratuita de decodificación Base64.

Buenas prácticas

Nunca uses en producción las claves privadas generadas aquí. En producción, genera y guarda las claves privadas en un HSM o KMS seguro.
Usa tamaños de clave adecuados y algoritmos modernos (p. ej., Ed25519 cuando sea compatible).
Publica el JWKS por HTTPS en un jwks_uri estable y rota las claves con regularidad: publica las nuevas con nuevos valores de kid y retira las obsoletas de forma segura.
Incluye los metadatos kid y alg en tus JWK para que los clientes elijan la clave correcta al verificar JWT.