Generatore di certificati SSL

Identità

Self-signed certificates are untrusted per browsers per default: use only for local development, testing, or private networks.

Genera un certificato autofirmato per lo sviluppo locale o i test interni, direttamente nel browser. Scegli la dimensione della chiave RSA (2048, 3072 o 4096 bit), il Common Name, i Subject Alternative Names, la finestra di validità e i dati di base dell’organizzazione. Il certificato e la sua chiave privata vengono creati nel browser e non vengono mai inviati al nostro server, e li scarichi entrambi come file PEM pronti per Nginx o Apache.

Come funziona la generazione del certificato

  1. 1

    Scegli la dimensione della chiave RSA

    2048 bit bastano per la maggior parte dei test; 3072 o 4096 danno una chiave più grande a scapito della velocità.

  2. 2

    Inserisci soggetto e SAN

    Common Name più ogni nome host o IP che il certificato deve coprire (i browser moderni ignorano il CN a favore dei SAN).

  3. 3

    Genera nel browser

    Viene creato un certificato autofirmato e firmato con la chiave privata corrispondente, tutto in locale nel browser.

  4. 4

    Scarica il risultato

    Un certificato codificato in PEM (`cert.pem`) e la chiave privata in PEM (`key.pem`), pronti da installare.

Tutto avviene nel tuo browser

Questo generatore funziona interamente nel tuo browser. La coppia di chiavi RSA viene creata in locale con una libreria di crittografia JavaScript, il certificato viene firmato sul tuo dispositivo e né la chiave privata né il certificato vengono mai caricati sul nostro server. Tratta comunque la chiave privata come un segreto: chiunque la possieda può impersonare il certificato.

Cosa significa autofirmato

Sei sia l’emittente sia il soggetto: il certificato è firmato con la propria chiave privata, quindi nessuna autorità di certificazione (CA) pubblica ne garantisce l’autenticità. Per questo i browser mostrano un avviso. È valido per i test, lo sviluppo locale (localhost, dev.local) e i server interni dove puoi distribuire il certificato ai client che devono considerarlo attendibile.

Se ti serve un certificato di cui si fida l’internet pubblica, questo strumento non è il passo giusto: ti occorre un certificato firmato da una CA (ad esempio Let’s Encrypt o una CA a pagamento), il che richiede una richiesta di firma del certificato (CSR) e una validazione del dominio che questo strumento nel browser non esegue.

Cosa contiene il certificato

Campo Note
Soggetto (CN, O, C) Common Name, Organizzazione, Paese
Subject Alternative Names Ogni dominio o IP coperto (fondamentale!)
Chiave pubblica RSA, derivata dalla chiave privata generata
Emittente Uguale al soggetto, perché autofirmato
Validità Not Before / Not After (i tuoi giorni di validità)
Key Usage digitalSignature, keyEncipherment
Extended Key Usage serverAuth, clientAuth
Basic Constraints CA:FALSE (un certificato foglia, non una CA)

File di output

  • key.pem, la chiave privata (proteggila, modalità 0600)
  • cert.pem, il certificato autofirmato (pubblico, distribuibile)

Per Nginx

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate     /etc/ssl/certs/cert.pem;
    ssl_certificate_key /etc/ssl/private/key.pem;
    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_ciphers         HIGH:!aNULL:!MD5;
}

Per Apache 2.4+

<VirtualHost *:443>
    ServerName example.com
    SSLEngine on
    SSLCertificateFile    /etc/ssl/certs/cert.pem
    SSLCertificateKeyFile /etc/ssl/private/key.pem
</VirtualHost>

Rendere attendibile il certificato sulle tue macchine

Per silenziare l’avviso del browser su una macchina che controlli, importa cert.pem nell’archivio di attendibilità di quel sistema o browser. Fallo solo per i certificati che hai generato tu, su dispositivi di tua proprietà. Strumenti come mkcert automatizzano una CA locale per più servizi; questo generatore produce un singolo certificato autofirmato alla volta.

A cosa non serve un certificato autofirmato

  • Siti web pubblici. Gli utenti vedono un avviso e molti abbandonano.
  • Integrazioni con API di terze parti. La maggior parte dei client rifiuta emittenti sconosciuti.
  • Produzione. Assolutamente no. Usa Let’s Encrypt (gratis) o una CA a pagamento per qualsiasi cosa sull’internet aperta.

Domande frequenti

No. La coppia di chiavi e il certificato vengono generati nel tuo browser e restano sul tuo dispositivo; non viene caricato nulla. Mantieni comunque privato il file key.pem scaricato, perché chiunque lo possieda può impersonare il certificato.

No, se si collegheranno terze parti. I browser mostrano un avviso ben visibile. Usa un certificato firmato da una CA gratuita (Let’s Encrypt, ZeroSSL) o a pagamento. L’autofirmato va bene da macchina a macchina in una rete interna dove controlli entrambi gli estremi.

Storicamente il CN conteneva il dominio principale. I browser moderni ignorano il CN per la validazione dell’host e usano solo i SAN. Metti sempre ogni nome host nei SAN; imposta il CN sul principale solo come identificazione leggibile.

Sì, metti *.example.com nei SAN. Copre un livello di sottodomini. Per più livelli, aggiungi più wildcard (*.example.com e *.dev.example.com).

Strumenti correlati