Gerador de Par de Chaves RSA / EC (Exportação PEM)
Gere um par de chaves RSA ou EC no seu navegador com WebCrypto e exporte as chaves pública e privada como PEM ou JWK. As chaves nunca saem do seu dispositivo.
As chaves são geradas localmente no seu navegador — a chave privada nunca é enviada.
— a saída aparece aqui —
— a saída aparece aqui —
Sobre esta ferramenta
O Gerador de Par de Chaves RSA / EC cria um par de chaves assimétricas inteiramente no seu navegador usando a API nativa WebCrypto (crypto.subtle.generateKey), e então o exporta nos formatos que você de fato cola em arquivos de configuração e código. Nada é transmitido ou armazenado em um servidor: a chave privada é gerada no seu dispositivo, exibida uma vez, e descartada quando você sai da página. Isso a torna uma forma segura de emitir chaves para ferramentas próximas a SSH, assinatura de JWT, experimentos com TLS, ou para aprender como os formatos de chave pública se encaixam.
Para RSA você escolhe um comprimento de módulo de 2048, 3072 ou 4096 bits com o expoente público padrão 65537, e se a chave é para assinatura (RSASSA-PKCS1-v1_5, SHA-256) ou criptografia (RSA-OAEP, SHA-256). Para chaves de curva elíptica você escolhe uma curva NIST — P-256, P-384 ou P-521 — e se é para assinatura (ECDSA) ou acordo de chave (ECDH). Módulos RSA maiores e curvas mais altas são mais fortes mas mais lentos de gerar; o RSA-4096 em particular pode levar alguns segundos no navegador.
A exportação é feita com o exportKey do WebCrypto: a chave pública como SubjectPublicKeyInfo (SPKI) e a chave privada como PKCS#8, codificada em base64 e quebrada em 64 caracteres por linha dentro dos delimitadores -----BEGIN PUBLIC KEY----- / -----BEGIN PRIVATE KEY-----. Mude o seletor de formato para JWK para obter a representação JSON Web Key. Como a geração é local e offline, a chave privada nunca é enviada — copie-a para um lugar seguro antes de fechar a aba, pois ela não pode ser recuperada depois.
Perguntas frequentes
As chaves privadas são enviadas a um servidor?
Não. As chaves são geradas localmente pelo mecanismo WebCrypto do seu navegador e exportadas na página. A chave privada nunca sai do seu dispositivo e não é armazenada em lugar nenhum, então copie-a para um lugar seguro antes de fechar a aba — ela não pode ser recuperada depois.
Qual tamanho de chave ou curva devo escolher?
RSA-2048 é a linha de base comum; 3072 ou 4096 dão mais margem ao custo de geração mais lenta e chaves maiores. Para EC, P-256 é rápida e amplamente suportada, enquanto P-384 e P-521 oferecem níveis de segurança mais altos. Chaves EC são muito menores que RSA para força comparável.
Qual a diferença entre a saída PEM e JWK?
PEM é o formato DER em base64 envolvido em linhas BEGIN/END que a maioria dos servidores e o OpenSSL espera — SPKI para a chave pública e PKCS#8 para a chave privada. JWK é o objeto JSON Web Key usado por bibliotecas JavaScript e JOSE/JWT. Ambos descrevem o mesmo par de chaves.
Assinatura versus criptografia — o que muda?
Isso seleciona o algoritmo para o qual a chave é criada. A assinatura RSA usa RSASSA-PKCS1-v1_5 e a criptografia usa RSA-OAEP; a assinatura EC usa ECDSA e o acordo de chave usa ECDH. Uma chave gerada para um propósito fica vinculada a esse algoritmo, então escolha com base em como você a usará.