Avec la récente faille dans OpenSSL, bon nombre de certificats ont dû être révoqués et remplacés par de nouveaux. Ce changement a pu déclencher dans Firefox (ou Iceweasel) une alerte pour certaines pages ressemblant à ceci :
Cette alerte peut sembler familière puisqu\’elle ressemble à la demande d\’ajout d\’exception pour les certificats qui ne sont pas délivrés par les \ »autorités de confiance\ ». Or ici, il s\’agit au contraire d\’une erreur de type \ »sec_error_untrusted_issuer\ » dont la seule issue proposée est de quitter la page… Sur Thunderbird (ou Icedove) la comportement est un peu différent. Des pop-ups s\’affichent régulièrement vous demandant si vous souhaitez accepter le certificat attestant de l\’identité du serveur que vous tentez de joindre. J\’ai eu beau valider une bonne dizaine de fois, la question revient en boucle. Bref, en bricolant un peu, j\’ai trouvé une solution qui remet tout ça en ordre. L\’idée est d\’aller supprimer les références à l\’ancien certificat dans une des bases de données attachées à Firefox et Thunderbird (chacun ayant la sienne). Et c\’est dans permissions.sqlite qu\’il nous faudra intervenir. La seule chose dont vous aurez besoin est du paquet sqlite3 (apt-get install sqlite3 sous Debian et dérivés). On commencera par quitter les applications concernées. Allons-y :
cd ~/.mozilla/firefox/
Pour Icedove, il faudra effectuer la même opération mais dans le dossier ~/.icedove (et probablement ~/.thunderbird dans les autres cas).
Nous allons maintenant ouvrir la base de données permissions
sqlite3 permissions.sqlite
Pour plus de lisibilité avec les requêtes SQL que nous allons effectuer, il est recommandé d\’entrer les deux commandes suivantes permettant d\’une part d\’afficher le nom des champs et d\’autre part de fournir un affichage propre sous forme de tableau.
sqlite> .headers on
sqlite> .mode column
La requête suivante va lister toutes les exceptions ajoutées dans l\’application concernant les certificats qui ne sont pas délivrés par les \ »autorités de confiance\ ».
sqlite> SELECT * FROM moz_hosts;
On va ensuite chercher les enregistrements qui concernent le nom de domaine ayant provoqué l\’erreur dans le navigateur ou les pop-ups dans le client mail.
sqlite> SELECT * FROM moz_hosts WHERE host LIKE \'%aquilenet%\';
De mon côté, cette requête a donné ceci :
id host type permission expireType expireTime appId isInBrowserElement ---------- ------------------ ---------- ---------- ---------- ------------- ---------- ------------------ 133 cloud.aquilenet.fr sts/use 1 2 1430744362518 0 0 134 cloud.aquilenet.fr sts/subd 2 0 0 0 0
Il suffit donc de supprimer ces deux enregistrements de cette façon et de quitter la session sqlite.
sqlite> DELETE FROM moz_hosts WHERE id=133 or id=134;
.quit
Et voilà ! Il ne reste plus qu\’à relancer le navigateur ou le client mail et le tour est joué !