Pular para o conteúdo

Gerador de par de chaves

Key Pair Generator

Gera pares de chaves RSA, ECDSA ou Ed25519 e os exporta como PEM, JWK ou OpenSSH.

Gera um par de chaves pública/privada no navegador e o exporta como OpenSSH, PEM (SPKI e PKCS#8) ou JWK. Ed25519, ECDSA P-256/P-384 e RSA 2048/3072/4096, todos produzidos pelo próprio WebCrypto do navegador.

🔒 Roda inteiramente no seu navegadorrsaed25519keyscrypto
Algoritmo

Pequena, rápida, moderna. O padrão do SSH desde 2014.

Aparece no fim da linha da chave pública do OpenSSH.

As chaves são geradas pela própria WebCrypto deste navegador (crypto.subtle.generateKey) nesta aba, e nunca saem dela: nada é transmitido, registrado nem armazenado. Os formatos são conferidos contra o próprio OpenSSH nos testes deste projeto. Sempre que der, gere na máquina que vai guardar a chave privada; uma chave que existiu numa aba do navegador existiu na memória daquela aba.

Como usar

  1. Escolha o algoritmo

    Ed25519 para qualquer coisa nova: pequena, rápida e o padrão do SSH desde 2014. ECDSA ou RSA quando algo do outro lado exige.

  2. Gere e escolha o formato

    OpenSSH te dá uma linha de `authorized_keys` e uma chave privada `openssh-key-v1`; PEM dá SPKI e PKCS#8; JWK é para uma biblioteca JOSE. A mesma chave, três grafias.

  3. Adicione uma frase secreta depois de salvar

    A chave privada é exportada sem criptografia. Localmente: `ssh-keygen -p -f id_key` para adicionar uma frase secreta, e `chmod 600` para que o ssh sequer aceite usar o arquivo.

Perguntas frequentes

É seguro gerar uma chave privada em um navegador?

A chave nunca sai da aba: o WebCrypto a gera, e nada é transmitido, registrado ou armazenado. Mas uma chave que existiu em uma aba do navegador existiu na memória dessa aba, que é uma superfície maior do que um shell. Para uma chave que guarda a produção, gere na máquina que vai ficar com ela.

Por que às vezes falta o Ed25519?

Porque o WebCrypto daquele navegador não o implementa. O suporte chegou tarde e de forma desigual; a página confere ao carregar e esconde a opção em vez de oferecer algo que vai falhar. ECDSA P-256 é o equivalente mais próximo com suporte amplo.

RSA 2048 ou 4096?

2048 ainda está bem e é consideravelmente mais rápido de gerar e de usar. 4096 compra folga contra um futuro que ninguém sabe dimensionar, a um custo real em tempo de handshake. Se você está escolhendo RSA por compatibilidade, 2048 normalmente é o que o outro lado queria de qualquer forma.

De onde vem a impressão digital?

É a impressão digital SHA-256 da chave pública no formato OpenSSH: a mesma string que `ssh-keygen -lf` imprime, então você pode comparar as duas diretamente.

Pode receber de

Em seguida

Estas aceitam o que esta ferramenta produz, então o resultado pode ir direto.