Convierta una JSON Web Key a PEM y viceversa para claves RSA, EC y Ed25519, con su thumbprint
Se ejecuta en su navegador. Nada de lo que escribe se envía a ningún sitio. Comprobado el 16 de octubre de 2026.Un JWK es una clave escrita en JSON, usada por JWT, OAuth y OpenID Connect; PEM es la forma de texto Base64 que usan OpenSSL y los servidores. Pegue cualquiera de las dos y se convierte en la otra, para claves RSA, EC (P-256, P-384, P-521, secp256k1) y Ed25519, con el thumbprint RFC 7638, todo en su navegador.
Esta página se ha traducido automáticamente del original en inglés. Ninguna persona ha revisado todavía la traducción, así que la versión en inglés es la que debe consultar. Leer el original en inglés
Pegue el JWK, un JWK Set de un endpoint jwks.json, o una clave o certificado PEM.
Se detecta la dirección: un JWK se convierte en PEM y un PEM en un JWK.
Elija el formato PEM, como PKCS#8 o PKCS#1, o marque Solo clave pública para quitar la parte privada.
Haga clic en Copiar o Descargar; se muestra el thumbprint RFC 7638 de cada clave.
Las JSON Web Keys y los archivos PEM contienen los mismos números en dos envoltorios. Un JWK nombra cada parte, como el módulo "n" y el exponente "e" de una clave RSA o el punto "x" e "y" de una clave EC, en Base64url. Un archivo PEM contiene los mismos valores en DER, el formato binario de X.509 y OpenSSL, entre líneas BEGIN y END.
Qué convierte.
| Clave | JWK a PEM | PEM a JWK |
|---|---|---|
| RSA pública | SPKI o PKCS#1 | PUBLIC KEY, RSA PUBLIC KEY, certificado |
| RSA privada | PKCS#8 o PKCS#1 | PRIVATE KEY, RSA PRIVATE KEY |
| EC P-256, P-384, P-521, secp256k1 | SPKI; PKCS#8 o SEC1 | PUBLIC KEY, PRIVATE KEY, EC PRIVATE KEY |
| Ed25519, Ed448, X25519, X448 | SPKI; PKCS#8 | PUBLIC KEY, PRIVATE KEY |
Un JWK Set con varias claves se convierte en varios bloques PEM, y varios bloques PEM se convierten en un JWK Set. Los certificados y las solicitudes de certificado dan su clave pública.
Formatos. SPKI ("PUBLIC KEY") y PKCS#8 ("PRIVATE KEY") sirven para todo tipo de clave y son lo que esperan la mayoría de las bibliotecas. PKCS#1 ("RSA PUBLIC KEY", "RSA PRIVATE KEY") es la forma más antigua, solo para RSA; SEC1 ("EC PRIVATE KEY") es la forma EC más antigua de OpenSSL.
Thumbprint. Se muestra el thumbprint RFC 7638 de cada clave: el SHA-256 de sus miembros obligatorios en un orden fijo, que muchos proveedores usan como "kid". Marque Añadir kid para incluirlo en el JWK.
Claves privadas. Marque Solo clave pública para quitar los miembros privados antes de publicar. Cuando una clave privada no lleva su parte pública, se calcula con el propio WebCrypto del navegador. Los archivos PEM protegidos con contraseña deben descifrarse primero.
El resultado se comprobó byte a byte con Node.js y OpenSSL para cada tipo de clave admitido, y con los ejemplos de RFC 7517 y RFC 7638. Las claves nunca se envían a ningún sitio y nada de lo que pega se guarda.
Pegue el JWK en el cuadro y el PEM aparece al instante: un bloque PUBLIC KEY para una clave pública y un bloque PRIVATE KEY para una privada. En las claves RSA puede cambiar a la forma más antigua PKCS#1, y en las claves privadas EC a SEC1. Un JWK Set con varias claves da un bloque PEM por cada clave.
Abra la dirección jwks.json del proveedor en su navegador, copie todo el JSON y péguelo aquí. Cada clave de la lista keys se convierte en una clave pública PEM, etiquetada con su tipo, tamaño y thumbprint, para que pueda emparejarla con el kid de la cabecera del token que quiere verificar.
Ambos contienen una clave RSA. PKCS#1, etiquetado RSA PRIVATE KEY o RSA PUBLIC KEY, contiene solo los números RSA. PKCS#8, etiquetado PRIVATE KEY, envuelve cualquier tipo de clave con un identificador de algoritmo, como hace SPKI con las claves públicas. La mayoría de las bibliotecas modernas, incluidas Java y Node.js, esperan PKCS#8 y SPKI.
Un identificador corto calculado a partir de la propia clave, definido en RFC 7638: los miembros obligatorios, como e, kty y n en RSA, se escriben en JSON en orden alfabético sin espacios y se calcula su SHA-256. La misma clave siempre obtiene el mismo thumbprint, por lo que funciona bien como kid.
La conversión se hace por completo en su navegador; la clave no se sube, no se registra ni se guarda, y la página funciona sin conexión una vez cargada. Aun así, trate toda clave privada con cuidado y prefiera convertir claves de prueba. Al publicar, marque Solo clave pública para que los miembros privados nunca aparezcan en el resultado.
Un JWK de una clave privada Ed448 o X448 debe incluir la clave pública, y OpenSSL suele escribir estos archivos PEM sin ella. Calcularla requiere matemáticas de Ed448 que los navegadores no ofrecen. Exporte la clave con su parte pública, o convierta la clave pública por separado.
Los tipos y las normas cambian; consulte la fuente antes de fiarse de una cifra.
¿Sigue sin resolverlo? Pregunte sobre Convertidor de JWK a PEM y cualquiera que lo sepa puede responder. No se necesita cuenta.