Sécurité

Certificats : Ajouter des certificats autosignés sur Linux

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

Introduction



Dans cet article, on va voir comment insérer des certificats autosignés sur notre système, afin de n'avoir aucun avertissement dans nos applications ou navigateurs Internet.

Ajouter un certificat au système



Pour le système, il sera nécessaire de créer un dossier local :

Code BASH :
mkdir -p /usr/local/share/ca-certificates/


Ses permissions doivent être 755 :
Code BASH :
chmod 755 /usr/local/share/ca-certificates


On place dedans notre certificat .pem (moi c'est virtu.linuxtricks.lan.pem).

On exécute ensuite la commande suivante :

Code BASH :
update-ca-certificates


La commande retourne :

Code TEXT :
Updating certificates in /etc/ssl/certs...
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.



Ajouter un certificat dans le navigateur web



Autant Epiphany (navigateur de GNOME) utilise les paramètres du système, autant Firefox ou Vivaldi vont utiliser une base locale dans le profil utilisateur.

Pour trouver l'emplacement du fichier cert9.db contenant les certificats, on pourra effectuer :

Code BASH :
find ~ -name "cert9.db"


Chez moi est retourné :

Code BASH :
/home/adrien/.pki/nssdb/cert9.db
/home/adrien/.mozilla/firefox/va572v31.default/cert9.db
/home/adrien/.mozilla/firefox/ls27mvm3.vierge/cert9.db
/home/adrien/.thunderbird/1vo8nqog.default/cert9.db


Dans le dossier .pki ce sont les certificats utilisés par Chromium, Vivaldi, etc etc...
Firefox et Thunderbird ont leurs DB spécifique.

Pour ajouter le certificat dans la base de données, on va utiliser cette commande (toujours avec mon virtu.linuxtricks.lan.pem , pour la base située dans /home/adrien/.pki/nssdb/ ) :

Code BASH :
certutil -A -n "virtu.linuxtricks.lan" -t "C," -i /usr/local/share/ca-certificates/perso/virtu.linuxtricks.lan.pem -d sql:/home/adrien/.pki/nssdb/


Et voilà, Vivaldi ne crie plus que le certificat n'est pas reconnu !