
Questo articolo spiega come creare un certificato SSL autofirmato utilizzando il openssl
strumento.
Che cos'è un certificato SSL autofirmato? #
Un certificato SSL autofirmato è un certificato firmato dalla persona che lo ha creato anziché da un'autorità di certificazione attendibile. I certificati autofirmati possono avere lo stesso livello di crittografia del certificato SSL attendibile firmato da una CA.
I browser Web non riconoscono come validi i certificati autofirmati. Quando si utilizza un certificato autofirmato, il browser Web mostra al visitatore un avviso che il certificato del sito Web non può essere verificato.
In genere, i certificati autofirmati vengono utilizzati a scopo di test o per uso interno. Non utilizzare un certificato autofirmato nei sistemi di produzione esposti a Internet.
Prerequisiti #
Il toolkit OpenSSL è necessario per generare un certificato autofirmato.
Per verificare se il openssl
il pacchetto è installato sul tuo sistema Linux, apri il tuo terminale, digita openssl version
e premere Invio. Se il pacchetto è installato, il sistema stamperà la versione OpenSSL, altrimenti vedrai qualcosa come openssl command not found
.
Se il pacchetto openssl non è installato sul tuo sistema, puoi installarlo con il gestore pacchetti della tua distribuzione:
-
Ubuntu e Debian
sudo apt install openssl
-
Cento e Fedora
sudo yum install openssl
Creazione di un certificato SSL autofirmato #
Per creare un nuovo certificato SSL autofirmato, utilizza il openssl req
comando:
openssl req -newkey rsa:4096 \
-x509 \
-sha256 \
-days 3650 \
-nodes \
-out example.crt \
-keyout example.key
Analizziamo il comando e capiamo cosa significa ciascuna opzione:
-newkey rsa:4096
- Crea una nuova richiesta di certificato e una chiave RSA a 4096 bit. Quello predefinito è 2048 bit.-x509
- Crea un certificato X.509.-sha256
- Usa 265 bit SHA (Secure Hash Algorithm).-days 3650
- Il numero di giorni per cui certificare il certificato. 3650 è dieci anni. Puoi utilizzare qualsiasi numero intero positivo.-nodes
- Crea una chiave senza una passphrase.-out example.crt
- Specifica il nome file in cui scrivere il certificato appena creato. Puoi specificare qualsiasi nome di file.-keyout example.key
- Specifica il nome file in cui scrivere la chiave privata appena creata. Puoi specificare qualsiasi nome di file.
Per ulteriori informazioni su openssl req
opzioni di comando, visita la pagina della documentazione di OpenSSL req.
Una volta premuto Invio, il comando genererà la chiave privata e ti farà una serie di domande. Le informazioni che hai fornito vengono utilizzate per generare il certificato.
Generating a RSA private key
......................................................................++++
........++++
writing new private key to 'example.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Inserisci le informazioni richieste e premi Enter
.
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:Alabama
Locality Name (eg, city) []:Montgomery
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Linuxize
Organizational Unit Name (eg, section) []:Marketing
Common Name (e.g. server FQDN or YOUR name) []:linuxize.com
Email Address []:[email protected]
Il certificato e la chiave privata verranno creati nella posizione specificata. Usa il comando ls per verificare che i file siano stati creati:
ls
example.crt example.key
Questo è tutto! Hai generato un nuovo certificato SSL autofirmato.
È sempre una buona idea eseguire il backup del nuovo certificato e della chiave su una memoria esterna.
Creazione di un certificato SSL autofirmato senza prompt #
Se vuoi generare un certificato SSL autofirmato senza che ti venga richiesta alcuna domanda, usa il -subj
opzione e specificare tutte le informazioni sull'oggetto:
openssl req -newkey rsa:4096 \
-x509 \
-sha256 \
-days 3650 \
-nodes \
-out example.crt \
-keyout example.key \
-subj "/C=SI/ST=Ljubljana/L=Ljubljana/O=Security/OU=IT Department/CN=www.example.com"
Generating a RSA private key
......................................................................++++
........++++
writing new private key to 'example.key'
-----
I campi, specificati in -subj
le righe sono elencate di seguito:
C=
- Nome del paese. L'abbreviazione ISO di due lettere.ST=
- Nome dello Stato o della Provincia.L=
- Nome località. Il nome della città in cui ti trovi.O=
- Il nome completo della tua organizzazione.OU=
- Unità Organizzativa.CN=
- Il nome di dominio completo.
Conclusione #
In questa guida, ti abbiamo mostrato come generare un certificato SSL autofirmato utilizzando lo strumento openssl. Ora che hai il certificato, puoi configurare la tua applicazione per usarlo.
Sentiti libero di lasciare un commento in caso di domande.