Certificats : Ajouter des certificats autosignés sur Linux
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 (en root) :
Code BASH :
mkdir -p /usr/local/share/ca-certificates/
Ses permissions doivent être 755 (en root) :
Code BASH :
chmod 755 /usr/local/share/ca-certificates
Ensuite, par CA on va créer un dossier, par exemple (en root) :
Code BASH :
mkdir /usr/local/share/ca-certificates/linuxtricks
On place dedans notre CA .pem ou .crt dans ce dossier (en root) :
Code BASH :
cp linuxtricksCA.pem /usr/local/share/ca-certificates/linuxtricks/
ou
Code BASH :
cp linuxtricksCA.crt /usr/local/share/ca-certificates/linuxtricks/
On exécute ensuite la commande suivante (en root) :
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 (ici, pour mon nom de domaine esx1.linuxtricks.lan, signé par mon CA ajouté ci-dessus, pour la base située dans /home/adrien/.pki/nssdb/ ) :
Code BASH :
certutil -A -n "esx1.linuxtricks.lan" -t "C," -i /usr/local/share/ca-certificates/perso/virtu.linuxtricks.lan.pem -d sql:$HOME/.pki/nssdb/
Et voilà, Vivaldi ne crie plus que le certificat n'est pas reconnu !
On peut voir les certificats installés avec :
Code BASH :
certutil -d sql:$HOME/.pki/nssdb -L
Code TEXT :
Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI esx1.linuxtricks.lan C,,
Et pour le supprimer :
Code BASH :
certutil -d sql:$HOME/.pki/nssdb -D -n esx1.linuxtricks.lan