Gerador de chaves EC
Gere um par de chaves de curva elíptica em P-256, P-384 ou P-521 para assinaturas ES256, ES384 ou ES512, ECDH e certificados TLS. O resultado contém a chave privada como PKCS #8 PEM sem criptografia, a chave pública como SPKI PEM, uma linha de chave pública OpenSSH ecdsa-sha2 com sua impressão digital SHA-256 e o thumbprint JWK RFC 7638. Cada par é criado do zero com o módulo crypto do Node e nunca é armazenado.
Perguntas frequentes
Qual curva devo escolher?
P-256 (também chamada prime256v1 ou secp256r1) é a curva com maior compatibilidade e oferece cerca de 128 bits de segurança. P-384 oferece cerca de 192 bits e é exigida por alguns perfis governamentais, como o CNSA. P-521 é a maior curva NIST e tem menor compatibilidade; escolha-a somente quando um sistema a exigir.
Qual algoritmo JWT corresponde a cada curva?
As chaves P-256 assinam ES256, as chaves P-384 assinam ES384 e as chaves P-521 assinam ES512. O JOSE associa cada algoritmo a exatamente uma curva, por isso o Gerador JWT rejeita uma chave que use a curva errada. O resultado lista o algoritmo correspondente à sua chave.
Quais formatos são retornados?
A chave privada é codificada em PEM PKCS #8 (BEGIN PRIVATE KEY) e a chave pública é codificada em PEM SubjectPublicKeyInfo (BEGIN PUBLIC KEY) com a curva nomeada. Você também recebe a linha ecdsa-sha2-nistp256, nistp384 ou nistp521 esperada pelo OpenSSH em authorized_keys.
Como obtenho o formato SEC1 (BEGIN EC PRIVATE KEY)?
Algumas ferramentas ainda exigem a codificação SEC1 mais antiga. Com o OpenSSL 3, execute openssl pkey -in key.pem -traditional -out key-ec.pem ou openssl ec -in key.pem -out key-ec.pem. A chave em si permanece igual.
Posso criar uma solicitação de assinatura de certificado com esta chave?
Sim. Salve o PEM privado e execute openssl req -new -key key.pem -subj "/CN=example.com" -out request.csr; depois, verifique a solicitação com o CSR Decoder. As autoridades certificadoras aceitam chaves P-256 e P-384 para certificados TLS.
Por que as chaves EC são menores que as chaves RSA?
A criptografia de curva elíptica alcança o mesmo nível de segurança com chaves muito menores; assim, uma chave P-256 equivale a uma chave RSA de 3072 bits. As assinaturas são menores e a assinatura é mais rápida. A chave pública ocupa 65 bytes em P-256.
A chave privada é protegida por uma frase secreta?
Não, ela é retornada sem criptografia para que outras ferramentas possam lê-la diretamente. Criptografe-a para armazenamento com openssl pkey -in key.pem -aes256 -out key-encrypted.pem. Nunca faça commit de uma chave privada sem criptografia em um repositório.
Para que serve o thumbprint JWK?
O thumbprint RFC 7638 é um hash SHA-256 base64url dos membros crv, kty, x e y da chave. Ele é um identificador estável da chave, independente da formatação PEM ou JWK, e funciona bem como kid em cabeçalhos JWT e documentos JWKS.
O par de chaves é armazenado?
Não. O par é gerado na memória para sua solicitação, retornado uma única vez e nunca registrado nem salvo. Copie as duas chaves antes de sair da página, pois elas não poderão ser exibidas novamente.
O que o campo de comentário altera?
Ele apenas adiciona um rótulo ao final da linha de chave pública OpenSSH, como user@laptop, para que seja fácil reconhecer a chave em authorized_keys. As impressões digitais e o material da chave permanecem iguais. O comentário pode ter até 200 caracteres.