Ajouter X certificats au Magasin de certificats de Firefox

Problématique :
Pour éviter d’avoir le message suivant sur Firefox lorsque vous tentez d’accéder à un serveur HTTPS avec certificat auto-signé :

Demande Exception Firefox

Il est nécessaire d’effectuer une petite manipulation pour déclarer notre autorité de certification (CA) Windows dans le magasin de certificats de Firefox.

Pré-requis (à télécharger) :
NSPR
NSS

Il faut savoir qu’Internet Explorer et Chrome se basent sur les certificats définis dans les magasins Windows, contrairement à Firefox qui lui se base sur son propre magasin de certificats. Ceci signifie que si vous signez vous-même vos certificats dans votre entreprise via votre CA, vous aurez le message ci-dessus lorsque vous tenterez d’accéder à un serveur en https avec certificat SSL auto-signé par votre PKI Windows.

Pour éviter cela, Mozilla met à notre disposition un outil qui s’appelle certutil qui nous permet de mettre à jour le magasin de certificats avec ceux de notre PKI Windows.

Voici un script que j’ai fait pour mettre à jour à l’ouverture de session, le magasin de certificats de Firefox, des utilisateurs Windows (je ne m’étendrais pas ici sur la mise en place de la GPO elle-même.).

SET PATH=%PATH%;C:\mypathToNssLibrary\lib

IF NOT EXIST %APPDATA%\Mozilla GOTO:eof

IF NOT EXIST %USERPROFILE%\certificat-firefox.txt GOTO :DeployCert
GOTO:eof

:DeployCert
FOR /F "tokens=*" %%A IN ('dir /B %APPDATA%\Mozilla\Firefox\Profiles\*.default') DO C:\myPathToFirefoxCertutilexe\certutil.exe -A -n MyFirstCertificat -t "C,C,C" -d "%APPDATA%\Mozilla\Firefox\Profiles\%%A" -i "\\MyPathToMyCertificatFile\myfirstcertif.crt"
FOR /F "tokens=*" %%A IN ('dir /B %APPDATA%\Mozilla\Firefox\Profiles\*.default') DO C:\myPathToFirefoxCertutilexe\certutil.exe -A -n MySecondCertificat -t "C,C,C" -d "%APPDATA%\Mozilla\Firefox\Profiles\%%A" -i "\\MyPathToMyCertificatFile\mysecondcertif.crt"
FOR /F "tokens=*" %%A IN ('dir /B %APPDATA%\Mozilla\Firefox\Profiles\*.default') DO C:\myPathToFirefoxCertutilexe\certutil.exe -A -n MyThirdCertificat -t "C,C,C" -d "%APPDATA%\Mozilla\Firefox\Profiles\%%A" -i "\\MyPathToMyCertificatFile\mythirdcertif.cer"

copy /y NUL %USERPROFILE%\certificat-firefox.txt >NUL

Et voilà, en ouvrant votre navigateur et en vous dirigeant vers un site interne ayant un certificat auto-signé, plus besoin d’ajouter une exception, votre site est considéré comme valide car signé par une autorité faisant partie de la liste de Firefox. 🙂 Pas mal non?

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

12 réflexions au sujet de « Ajouter X certificats au Magasin de certificats de Firefox »

    1. Qu’entends-tu par mise en oeuvre? Le script peut être lancé soit via une GPO (à l’ouverture de session par exemple), comme ça ça ajoute automatiquement les certificats pour l’utilisateur.

      Sinon tu peux proposer aux utilisateurs de double-cliquer sur le .bat et tout se fera automatiquement.

      Le fonctionnement est simple, il regarde si Firefox a déjà été lancé, si c’est le cas il vérifie que la mise à jour de sa base de données n’a pas encore été faite. Si ce n’est pas le cas il va chercher le chemin de la BDD de l’utilisateur et il injecte les certificats que tu lui passes en argument.

      Et pi c tout 🙂

  1. Bonjour,

    Je ne comprends pas : Firefox a son propre utilitaire certutil.exe ?!
    Si c’est le cas je ne le trouve pas.

    Et lorsque j’utilise celui de Windows (dans system32), il m’ajoute bien mon certificat mais dans le keystore de Windows uniquement.

    Merci pour votre aide.

    Cordialement.

    1. Bonjour,

      Comme dit plus haut, il faut télécharger les 2 librairies NSS et NSPR, et tu trouveras le certutil.exe de FIREFOX dans le dossier « bin » de celui-ci. Cet exécutable certutil est particulier pour mettre à jour le magasin de certificats de Firefox et seulement celui-ci 🙂 Tiens moi au courant si ça fonctionne pour toi!

  2. Bonjour,
    J’ai telechargé NSS et NSPR.
    si je comprend bien, il faut copier des fichiers dans un dossier sur le PC client genre c:\nss\.
    Quels sont les fichiers dans les dossiers nss et nspr que nous avons téléchargé à copier sur le PC client? tous?
    Sébastien

  3. Bonjour,
    Je suis votre procédure et il y a 2-3 choses que je ne comprends pas.
    Tout d’abord ou faut-il mettre NSPR et NSS ? Ensuite où se trouve l’exe de Certutil ?
    Merci pour votre aide et bonne journée

    1. Bonjour,

      Désolé pour le délai de réponse, mais le fichier doit être cherché dans le dossier bin de NSS. Les dossiers NSS et NSPR doivent être déposés dans un dossier sur chaque client.

  4. Salut,

    Merci pour ce petit tuto, cependant pourrais-tu décrire tes valeurs :
    – C:\myPathToFirefoxCertutilexe\certutil.exe correspond bien a …\nss-3.10\bin\certutil.exe ?
    – MyFirstCertificat je suppose qu’il s’agit du nom du fichier « xxxxx.p12 » par exemple
    – \\MyPathToMyCertificatFile\mysecondcertif.crt ceci doit être l’emplacement du fichier mais je ne comprend pas le « \\ »

    Merci d’avance pour ta reponse

    Nico

    1. Salut,

      Pour répondre à ta première question, oui il s’agit bien de ce chemin.
      Pour la deuxième : MyFirstCertificate représente tout simplement un alias correspond à ton certificat MyFirstCertificat.crt (tu pourrais choisir toto, cela n’aurait pas spécialement d’importance).
      Le « \\ » représente un chemin vers un dossier partagé tout simplement 🙂

      Si tu as d’autres questions, tu peux également regarder sur ce site : https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Reference/NSS_tools_%3A_certutil

      Merci pour ton commentaire!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *


*