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

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.).
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?