Certificato SSL autofirmato per localhost e IP locali
Questo strumento trasforma i nomi del tuo sito locale in un certificato e in una chiave privata pronti per il server di sviluppo. Tutto avviene nel browser: non viene caricato né salvato nulla. Alla fine scarichi server.crt e server.key in un unico ZIP.
Generare certificato autofirmato per localhost, domini e indirizzi IP
Ogni nome che inserisci finisce nell'elenco Subject Alternative Name (SAN), quello che controllano i browser moderni. Non c'è nulla da configurare o da incollare.
La coppia di chiavi viene creata dal WebCrypto del tuo browser, e il certificato è costruito e firmato nella pagina stessa.
Generare certificato SSL autofirmato: i passaggi
- Controlla il campo Domini e indirizzi IP. Inizia con
localhost, 127.0.0.1; sostituiscilo o aggiungi i tuoi nomi, per esempiolocalhost, 127.0.0.1, 192.168.1.5. - Se vuoi, apri Impostazioni per cambiare Validità (giorni) o Dimensione della chiave RSA.
- Premi Genera certificato. Dopo il breve passaggio Creazione del certificato in corso… compare Il tuo certificato è pronto.
- Premi Scarica ZIP. Il file
local-ssl-certificate.zipcontiene server.crt (il certificato) e server.key (la chiave privata). - Aggiungi server.crt all'archivio dei certificati attendibili del tuo computer con Rendilo attendibile sul tuo computer, poi configura il server con i due file.
- Per cambiare un nome o un'impostazione, premi Cambia nomi o impostazioni e genera di nuovo.
Cosa inserire: domini e indirizzi IP
Separa le voci con virgole, spazi o a capo. Ognuna viene riconosciuta da sola come nome DNS o come indirizzo IP:
- Nomi host come
localhostodev.example.test - Caratteri jolly come
*.example.test, che coprono un solo livello di sottodominio - Indirizzi IPv4 come
192.168.1.5e IPv6 come::1, con o senza parentesi quadre - Nomi con lettere accentate o non latine, convertiti per te in punycode (la forma xn--)
Un certificato può coprire fino a 50 nomi. Inserisci solo il nome dell'host o l'indirizzo: una voce con https:// o con un numero di porta viene rifiutata, e l'errore ti dice quali voci non erano valide. Il nome che digiti nella barra degli indirizzi deve essere uno di quelli del certificato, altrimenti il browser continua ad avvisare.
Impostazioni: validità e dimensione della chiave
Validità accetta da 1 a 397 giorni e parte da 365. Un numero fuori da questo intervallo viene portato al limite più vicino. Il certificato vale dal momento in cui lo generi, e Valido fino al mostra nel risultato la data di scadenza. Quando scade, generane uno nuovo.
La Dimensione della chiave RSA è 2048 bit per impostazione predefinita: è veloce e accettata ovunque. Scegli 4096 bit per una chiave più grande; crearla può richiedere qualche secondo.
Il risultato mostra Copre (tutti i nomi), Valido fino al, Chiave e l'Impronta SHA-256. Il certificato è un X.509 versione 3 autofirmato, firmato con la sua stessa chiave in SHA-256 con RSA. Il nome comune è la prima voce che hai digitato, ma i browser leggono l'elenco SAN. Il numero di serie è casuale.
Rendere attendibile il certificato su Windows, macOS e Linux
Un browser avvisa per un certificato autofirmato finché non è nell'archivio dei certificati attendibili. Estrai lo ZIP, apri un terminale in quella cartella ed esegui il comando per il tuo sistema. Ciascuno è mostrato anche pronto da copiare sotto Rendilo attendibile sul tuo computer.
- macOS:
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain server.crt - Windows (PowerShell come amministratore):
Import-Certificate -FilePath .\server.crt -CertStoreLocation Cert:\LocalMachine\Root - Debian e Ubuntu:
sudo cp server.crt /usr/local/share/ca-certificates/server.crte poisudo update-ca-certificates - Fedora e RHEL:
sudo cp server.crt /etc/pki/ca-trust/source/anchors/e poisudo update-ca-trust
Firefox ha un elenco tutto suo, e così Chrome su Linux. Importa lì server.crt da Impostazioni, Certificati, Autorità. Anche alcuni strumenti di sviluppo hanno un elenco proprio: dai loro server.crt nelle loro impostazioni. Riavvia il browser dopo aver reso attendibile il certificato.
Usare il certificato nel server (nginx e Apache)
Indica server.crt nell'impostazione del certificato del tuo web server e server.key in quella della chiave privata, poi riavvia il server. In nginx si chiamano ssl_certificate e ssl_certificate_key; in Apache SSLCertificateFile e SSLCertificateKeyFile. Poi apri il sito con uno dei nomi del certificato e https:// davanti.
Tieni server.key privata: chiunque la possieda può spacciarsi per il tuo sito locale. Non pubblicarla in un repository pubblico. Lo strumento è solo per lo sviluppo in locale; non mettere mai un certificato autofirmato su un sito pubblico.
Domande frequenti
Come generare un certificato autofirmato per localhost?
Lascia localhost, 127.0.0.1 nel campo «Domini e indirizzi IP», premi «Genera certificato» e poi «Scarica ZIP». Ottieni server.crt e server.key. Indica questi due file al tuo web server locale e aggiungi server.crt all'archivio dei certificati attendibili del tuo computer, così il browser smette di avvisare.
Posso creare un certificato per un indirizzo IP?
Sì. Inserisci l'indirizzo nel campo «Domini e indirizzi IP», per esempio 192.168.1.5. Funzionano IPv4 e IPv6, anche nella forma con parentesi [::1]. Ogni IP viene scritto nel certificato come voce di indirizzo IP, che è ciò che il browser controlla quando apri https://192.168.1.5. Inserisci solo l'indirizzo, senza https:// e senza porta.
Posso creare un certificato autofirmato wildcard?
Sì. Inserisci un carattere jolly come *.example.test e viene aggiunto come nome DNS. Copre un solo livello: *.example.test vale per app.example.test, ma non per example.test né per a.b.example.test. Aggiungi example.test a parte se ti serve.
Serve OpenSSL per generare un certificato autofirmato?
No. La coppia di chiavi la crea il WebCrypto del tuo browser e il certificato è costruito e firmato nella pagina, quindi non c'è alcun comando da eseguire né nulla da installare. OpenSSL servirebbe solo se vuoi convertire poi i file in un altro formato.
Come rendo attendibile il certificato su Windows?
Apri PowerShell come amministratore, vai nella cartella in cui hai estratto i file ed esegui Import-Certificate -FilePath .\server.crt -CertStoreLocation Cert:\LocalMachine\Root. Il certificato viene copiato nell'archivio delle autorità radice attendibili, che leggono Chrome ed Edge.
Come rendo attendibile il certificato su Mac, Ubuntu o Firefox?
Su Mac esegui nella cartella di server.crt: sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain server.crt. Su Debian e Ubuntu copia il file in /usr/local/share/ca-certificates/ ed esegui sudo update-ca-certificates. Firefox non usa l'archivio di sistema: importa server.crt nelle sue impostazioni, sotto Certificati e Autorità.
Posso ottenere un file PFX, una CSR o un certificato Let's Encrypt?
No. Questo strumento crea un certificato autofirmato in formato PEM: server.crt e server.key. Non crea una richiesta di firma (CSR), né un certificato firmato da una CA o pubblico, né una CA radice separata. Se ti serve un PFX, il comando pkcs12 di OpenSSL può costruirlo a partire dai due file.
Consigliati
-
Supporto per tablet orientabile a 360° LamicallAppoggia il telefono o il tablet su cui apri https://192.168.x.x durante i test.
-
Chiavetta USB cifrata Kingston IronKey Vault Privacy 50Una chiavetta cifrata via hardware per tenere server.key fuori dal disco in chiaro del portatile.
-
Webcam da streaming 4K EMEET S600I test della fotocamera richiedono HTTPS: provali davvero con una buona webcam 4K.
Aiuta a mantenere gratuiti gli strumenti. ✨
Le immagini sono solo a scopo illustrativo. In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei.