Converta uma JSON Web Key para PEM e vice-versa para chaves RSA, EC e Ed25519, com o thumbprint
Funciona no seu navegador. Nada do que você digita é enviado a lugar nenhum. Verificado em 16 de outubro de 2026.Um JWK é uma chave escrita em JSON, usada por JWTs, OAuth e OpenID Connect; PEM é a forma de texto em Base64 que o OpenSSL e os servidores usam. Cole qualquer um dos dois e ele é convertido no outro, para chaves RSA, EC (P-256, P-384, P-521, secp256k1) e Ed25519, com o thumbprint RFC 7638, inteiramente no seu navegador.
Esta página foi traduzida automaticamente do original em inglês. Nenhuma pessoa revisou ainda a tradução; a versão em inglês é a que deve ser considerada. Ler o original em inglês
Cole o JWK, um JWK Set de um endpoint jwks.json, ou uma chave ou certificado PEM.
A direção é detectada: um JWK vira PEM, um PEM vira JWK.
Escolha o formato PEM, como PKCS#8 ou PKCS#1, ou marque Só a chave pública para remover a parte privada.
Clique em Copiar ou Baixar; o thumbprint RFC 7638 aparece para cada chave.
JSON Web Keys e arquivos PEM guardam os mesmos números em duas embalagens. Um JWK nomeia cada parte, como o módulo "n" e o expoente "e" de uma chave RSA ou o ponto "x" e "y" de uma chave EC, em Base64url. Um arquivo PEM guarda os mesmos valores em DER, o formato binário do X.509 e do OpenSSL, entre linhas BEGIN e END.
O que ele converte.
| Chave | JWK para PEM | PEM para JWK |
|---|---|---|
| RSA pública | SPKI ou PKCS#1 | PUBLIC KEY, RSA PUBLIC KEY, certificado |
| RSA privada | PKCS#8 ou PKCS#1 | PRIVATE KEY, RSA PRIVATE KEY |
| EC P-256, P-384, P-521, secp256k1 | SPKI; PKCS#8 ou SEC1 | PUBLIC KEY, PRIVATE KEY, EC PRIVATE KEY |
| Ed25519, Ed448, X25519, X448 | SPKI; PKCS#8 | PUBLIC KEY, PRIVATE KEY |
Um JWK Set com várias chaves vira vários blocos PEM, e vários blocos PEM viram um JWK Set. Certificados e solicitações de certificado fornecem a chave pública deles.
Formatos. SPKI ("PUBLIC KEY") e PKCS#8 ("PRIVATE KEY") funcionam para todo tipo de chave e são o que a maioria das bibliotecas espera. PKCS#1 ("RSA PUBLIC KEY", "RSA PRIVATE KEY") é a forma mais antiga, só para RSA; SEC1 ("EC PRIVATE KEY") é a forma EC mais antiga do OpenSSL.
Thumbprint. O thumbprint RFC 7638 de cada chave é exibido: o SHA-256 dos membros obrigatórios em ordem fixa, que muitos provedores usam como "kid". Marque Adicionar kid para colocá-lo no JWK.
Chaves privadas. Marque Só a chave pública para remover os membros privados antes de publicar. Quando uma chave privada não traz a parte pública, ela é calculada com o próprio WebCrypto do navegador. Arquivos PEM protegidos por senha precisam ser descriptografados antes.
A saída foi conferida byte a byte com o Node.js e o OpenSSL para cada tipo de chave suportado, e com os exemplos dos RFC 7517 e RFC 7638. As chaves nunca são enviadas a lugar algum e nada do que você cola é armazenado.
Cole o JWK na caixa e o PEM aparece na hora: um bloco PUBLIC KEY para uma chave pública, um bloco PRIVATE KEY para uma privada. Para chaves RSA você pode trocar para a forma mais antiga PKCS#1, e para chaves privadas EC para SEC1. Um JWK Set com várias chaves gera um bloco PEM para cada chave.
Abra o endereço jwks.json do provedor no navegador, copie todo o JSON e cole aqui. Cada chave da lista keys vira uma chave pública PEM, identificada pelo tipo, tamanho e thumbprint, para que você a associe ao kid no cabeçalho do token que quer verificar.
Os dois guardam uma chave RSA. O PKCS#1, rotulado RSA PRIVATE KEY ou RSA PUBLIC KEY, guarda só os números RSA. O PKCS#8, rotulado PRIVATE KEY, envolve qualquer tipo de chave com um identificador de algoritmo, como o SPKI faz para chaves públicas. A maioria das bibliotecas modernas, incluindo Java e Node.js, espera PKCS#8 e SPKI.
Um identificador curto calculado a partir da própria chave, definido no RFC 7638: os membros obrigatórios, como e, kty e n para RSA, são escritos em JSON em ordem alfabética sem espaços e passam por SHA-256. A mesma chave sempre gera o mesmo thumbprint, por isso ele funciona bem como kid.
A conversão acontece inteiramente no seu navegador; a chave não é enviada, registrada nem armazenada, e a página funciona offline depois de carregada. Mesmo assim, trate qualquer chave privada com cuidado e prefira converter chaves de teste. Ao publicar, marque Só a chave pública para que os membros privados nunca apareçam na saída.
Um JWK de chave privada Ed448 ou X448 precisa incluir a chave pública, e o OpenSSL costuma gravar esses arquivos PEM sem ela. Calculá-la exige matemática de Ed448 que os navegadores não oferecem. Exporte a chave com a parte pública, ou converta a chave pública separadamente.
Taxas e regras mudam; confira a fonte antes de confiar em um valor.
Ainda com dúvidas? Pergunte sobre Conversor de JWK para PEM e qualquer pessoa que saiba pode responder. Não é preciso ter conta.