UTILS.
100% nel browser
🗝️

Generatore di coppie di chiavi RSA / EC (esportazione PEM)

Genera una coppia di chiavi RSA o EC nel tuo browser con WebCrypto ed esporta le chiavi pubblica e privata come PEM o JWK. Le chiavi non lasciano mai il tuo dispositivo.

Le chiavi sono generate localmente nel tuo browser — la chiave privata non viene mai caricata.

— l'output appare qui —
— l'output appare qui —

Informazioni su questo strumento

Il Generatore di coppie di chiavi RSA / EC crea una coppia di chiavi asimmetrica interamente nel tuo browser usando l'API nativa WebCrypto (crypto.subtle.generateKey), poi la esporta nei formati che effettivamente incolli nei file di configurazione e nel codice. Nulla viene trasmesso o memorizzato su un server: la chiave privata è generata sul tuo dispositivo, mostrata una volta, e scartata quando lasci la pagina. Questo lo rende un modo sicuro per coniare chiavi per strumenti affini a SSH, firma JWT, esperimenti TLS, o per imparare come si incastrano i formati a chiave pubblica.

Per RSA scegli una lunghezza del modulo di 2048, 3072 o 4096 bit con l'esponente pubblico standard 65537, e se la chiave è per la firma (RSASSA-PKCS1-v1_5, SHA-256) o la cifratura (RSA-OAEP, SHA-256). Per le chiavi a curva ellittica scegli una curva NIST — P-256, P-384 o P-521 — e se è per la firma (ECDSA) o l'accordo di chiavi (ECDH). Moduli RSA più grandi e curve più alte sono più forti ma più lenti da generare; RSA-4096 in particolare può richiedere qualche secondo nel browser.

L'esportazione avviene con exportKey di WebCrypto: la chiave pubblica come SubjectPublicKeyInfo (SPKI) e la chiave privata come PKCS#8, codificate in base64 e a capo ogni 64 caratteri all'interno delle cornici -----BEGIN PUBLIC KEY----- / -----BEGIN PRIVATE KEY-----. Commuta il selettore di formato su JWK per ottenere invece la rappresentazione JSON Web Key. Poiché la generazione è locale e offline, la chiave privata non viene mai caricata — copiala in un luogo sicuro prima di chiudere la scheda, poiché in seguito non può essere recuperata.

Domande frequenti

Le chiavi private vengono inviate a un server?
No. Le chiavi sono generate localmente dal motore WebCrypto del tuo browser ed esportate nella pagina. La chiave privata non lascia mai il tuo dispositivo e non è memorizzata da nessuna parte, quindi copiala in un luogo sicuro prima di chiudere la scheda — in seguito non può essere recuperata.
Quale dimensione di chiave o curva dovrei scegliere?
RSA-2048 è la base comune; 3072 o 4096 danno più margine al costo di una generazione più lenta e chiavi più grandi. Per EC, P-256 è veloce e ampiamente supportata, mentre P-384 e P-521 offrono livelli di sicurezza più alti. Le chiavi EC sono molto più piccole di RSA a parità di robustezza.
Qual è la differenza tra l'output PEM e JWK?
PEM è il formato DER in base64 racchiuso in righe BEGIN/END che la maggior parte dei server e OpenSSL si aspetta — SPKI per la chiave pubblica e PKCS#8 per quella privata. JWK è l'oggetto JSON Web Key usato da JavaScript e dalle librerie JOSE/JWT. Entrambi descrivono la stessa coppia di chiavi.
Firma contro cifratura — cosa cambia?
Seleziona l'algoritmo per cui la chiave è creata. La firma RSA usa RSASSA-PKCS1-v1_5 e la cifratura usa RSA-OAEP; la firma EC usa ECDSA e l'accordo di chiavi usa ECDH. Una chiave generata per uno scopo è vincolata a quell'algoritmo, quindi scegli in base a come la userai.

Altri strumenti