Firefox: Installare un certificato SSL self-signed da Ubuntu

Attenzione: potenziale rischio per la sicurezza

NOTE: if you want, you can read this tutorial in English 🎉

Durante lo sviluppo di applicazioni web può capitare di avere la necessità di creare e di utilizzare dei certificati SSL self-signed e cioè che non sono firmati da nessuna delle autorità di certificazione riconosciute.
In questi casi i browser mostrano un messaggio d’errore che avverte l’utente del fatto che il sito a cui si sta connettendo non ha un certificato riconosciuto e che questo potrebbe rappresentare un potenziale rischio per la sicurezza.

Per evitare che ad ogni connessione venga mostrato l’avviso di sicurezza è necessario fare in modo che il browser riconosca il nostro certificato come valido.

In questo post ti spiegherò come aggiungere (ed eventualmente rimuovere) un certificato SSL all’archivio utilizzato da Firefox in modo da non ricevere più alcun avviso di sicurezza dal browser.

NOTA: se utilizzi anche Google Chrome ricordati di seguire la procedura per aggiungere un certificato anche li.

Identificare la cartella con il profilo di Firefox

Quando utilizzi Firefox ogni modifica alle impostazioni, ai preferiti o alle estensioni viene memorizzata all’interno di una cartella speciale chiamata profile.
All’interno di questa cartella è custodito anche il database dei certificati considerati attendibili dal browser per cui, per poterne aggiungere uno, la prima cosa da fare è individuare la cartella in cui è memorizzato il tuo profilo.

Per farlo ti basta aprire Firefox e digitare nella barra degli indirizzi:

about:profiles
Pagina about:profiles di Firefox
about:profiles di Firefox

Il percorso del profilo è quello indicato dalla label Cartella radice(o Root Directory in inglese).

Ad esempio, nel mio caso il profilo si trova nella cartella: /home/lorenzo/.mozilla/firefox/s9kh79z8.default

Aggiungere il certificato

Per poter aggiungere un certificato SSL a Firefox è necessario installare il tool certutil.
Per installarlo puoi usare il seguente comando da terminale:

sudo apt install libnss3-tools

NOTA: a seconda della versione del sistema operativo questo pacchetto potrebbe essere già incluso all’interno della distribuzione in uso.

Una volta terminata l’installazione, per aggiungere un certificato ti basta utilizzare il seguente comando:

certutil -A -n "<CERT_NICKNAME>" -t "TCu,Cu,Tu" -i <PATH_FILE_CRT> -d sql:<PATH_PROFILO_FIREFOX>

Dove:

  • CERT_NICKNAME: indica l’alias da utilizzare per riconoscere il certificato nella lista di quelli installati
  • PATH_FILE_CRT: indica il path del file .crt da importare
  • PATH_PROFILO_FIREFOX: indica il path del profilo utilizzato su Firefox (individuato al punto precedente)

Ad esempio nel mio caso il comando precedente si traduce in:

certutil -A -n "slope" -t "TCu,Cu,Tu" -i ~/Downloads/slope.crt -d sql:/home/lorenzo/.mozilla/firefox/s9kh79z8.default 

Verificare i certificati installati

Per verificare che il comando di aggiunta del certificato sia andato a buon fine o più in generale per visualizzare i certificati installati, puoi utilizzare il seguente comando:

 certutil -d sql:<PATH_PROFILO_FIREFOX> -L      

Rimuovere un certificato

Nel caso in cui tu abbia bisogno di rimuovere un certificato installato ti basta conoscere il suo nickname (che puoi vedere con il comando precedente) e digitare:

certutil  -D -n "<CERT_NICKNAME>"  -d sql:<PATH_PROFILO_FIREFOX>    

Conclusioni

Se questo post ti è stato utile puoi farmelo sapere lasciando un commento qui sotto oppure scrivendomi direttamente a t.me/lorenzomillucci.
Inoltre ti invito ad iscriverti al mio canale Telegram e a seguirmi su Twitter per non perderti nemmeno un post del mio blog. A presto!