Vai al contenuto

Generatore di chiavi EC

Generate una coppia di chiavi a curva ellittica su P-256, P-384 o P-521 per firme ES256, ES384 o ES512, ECDH e certificati TLS. Il risultato include la chiave privata in PEM PKCS #8 non crittografato, la chiave pubblica in PEM SPKI, una riga di chiave pubblica OpenSSH ecdsa-sha2 con la relativa impronta digitale SHA-256 e il thumbprint JWK RFC 7638. Ogni coppia viene creata da zero con il modulo crypto di Node e non viene mai salvata.

Reimposta

Domande frequenti

Quale curva dovrei scegliere?

P-256 (detta anche prime256v1 o secp256r1) è la curva più supportata e offre una sicurezza di circa 128 bit. P-384 offre circa 192 bit ed è richiesta da alcuni profili governativi, come CNSA. P-521 è la curva NIST più grande ed è meno supportata, quindi sceglietela solo se richiesta da un sistema.

Quale algoritmo JWT corrisponde a ciascuna curva?

Le chiavi P-256 firmano ES256, quelle P-384 firmano ES384 e quelle P-521 firmano ES512. JOSE associa ciascun algoritmo a una sola curva, quindi il generatore JWT rifiuta le chiavi con una curva non corrispondente. Il risultato indica l'algoritmo corrispondente alla vostra chiave.

Quali formati vengono restituiti?

La chiave privata è codificata in PEM PKCS #8 (BEGIN PRIVATE KEY) e la chiave pubblica in PEM SubjectPublicKeyInfo (BEGIN PUBLIC KEY), con la curva indicata. Riceverete anche la riga ecdsa-sha2-nistp256, nistp384 o nistp521 prevista da OpenSSH in authorized_keys.

Come ottengo il formato SEC1 (BEGIN EC PRIVATE KEY)?

Alcuni strumenti richiedono ancora la codifica SEC1 precedente. Con OpenSSL 3, eseguite openssl pkey -in key.pem -traditional -out key-ec.pem oppure openssl ec -in key.pem -out key-ec.pem. La chiave resta invariata.

Posso creare una richiesta di firma del certificato con questa chiave?

Sì. Salvate il PEM privato ed eseguite openssl req -new -key key.pem -subj "/CN=example.com" -out request.csr, poi verificate la richiesta con il decodificatore CSR. Le autorità di certificazione accettano chiavi P-256 e P-384 per i certificati TLS.

Perché le chiavi EC sono più piccole di quelle RSA?

La crittografia a curva ellittica raggiunge lo stesso livello di sicurezza con chiavi molto più corte, quindi una chiave P-256 è paragonabile a una chiave RSA da 3072 bit. Le firme sono più brevi e la firma è più veloce. Con P-256, la chiave pubblica occupa 65 byte.

La chiave privata è protetta da una passphrase?

No, viene restituita non crittografata, così gli altri strumenti possono leggerla direttamente. Crittografatela per conservarla con openssl pkey -in key.pem -aes256 -out key-encrypted.pem. Non inserite mai una chiave privata non crittografata in un repository.

A cosa serve il thumbprint JWK?

Il thumbprint RFC 7638 è un hash SHA-256 base64url dei membri crv, kty, x e y della chiave. È un identificatore stabile della chiave, indipendente dalla formattazione PEM o JWK, e funziona bene come kid nelle intestazioni JWT e nei documenti JWKS.

La coppia di chiavi viene salvata?

No. La coppia viene generata in memoria per la vostra richiesta, restituita una sola volta e mai registrata o salvata. Copiate entrambe le chiavi prima di lasciare la pagina, perché non sarà possibile visualizzarle di nuovo.

Cosa modifica il campo del commento?

Aggiunge solo un'etichetta alla fine della riga della chiave pubblica OpenSSH, ad esempio user@laptop, per rendere la chiave facile da riconoscere in authorized_keys. Le impronte digitali e il materiale della chiave restano invariati. Il commento può contenere fino a 200 caratteri.

Informazioni su OneClick Pro

OneClick Pro è una raccolta gratuita di oltre 150 strumenti web per le attività quotidiane: convertire immagini e unità di misura, formattare e convalidare codice, controllare domini e SEO, lavorare con testi, date e numeri. Ogni strumento funziona senza registrazione né abbonamento; i dati inseriti vengono usati solo per calcolare il risultato e non vengono mai salvati. Usatelo come cassetta degli attrezzi per attività occasionali oppure aggiungete ai preferiti gli strumenti che usate ogni giorno.