web-dev-qa-db-fra.com

Comment créer des certificats d'autorité de certification de système de confiance Firefox?

Notre administrateur réseau a récemment activé l'inspection HTTPS sur notre pare-feu/routeur. Pour les utilisateurs de IE c'est très bien car les certificats ont tous été distribués via Active Directory pour les machines jointes au domaine. Cependant, nous avons un certain nombre d'utilisateurs de Firefox qui lancent maintenant des erreurs de certificat sur pratiquement tous les HTTPS site.

Firefox utilise son propre magasin CA, et ils en sont très fiers aussi . Existe-t-il un moyen pour que Firefox approuve le magasin de certificats système par défaut? Je vois beaucoup de messages sur la façon de faire cela sous Linux, mais rien pour Windows.

Je soupçonne de cet article que ce n'est pas possible, mais cet article a presque 4 ans.

31
Wes Sayeed

Depuis Firefox 49, il existe ne certaine prise en charge des certificats d'autorité de certification Windows et la prise en charge des certificats racine d'entreprise fournis par Active Directory depuis Firefox 52. Il est également pris en charge dans macOS pour lire à partir du trousseau depuis la version 63.

Depuis Firefox 68, cette fonctionnalité est activée par défaut dans la version ESR (entreprise), mais pas dans la version rapide (standard).

Vous pouvez activer cette fonctionnalité pour Windows et macOS dans about:config en créant cette valeur booléenne:

security.enterprise_roots.enabled

et définissez-le sur true.

Pour GNU/Linux, ceci est généralement géré par p11-kit-trust et aucun indicateur n'est nécessaire.

Déploiement du système de configuration à l'échelle

Depuis Firefox 64, il existe un moyen nouveau et recommandé d'utiliser des politiques, documenté à https://support.mozilla.org/en-US/kb/setting-certificate-authorities-firefox

Pour les versions héritées, le dossier d'installation de Firefox peut être récupéré à partir du registre Windows, puis accédez à defaults\pref\ sous-répertoire et créez un nouveau fichier avec les éléments suivants:

/* Allows Firefox reading Windows certificates */    
pref("security.enterprise_roots.enabled", true);

Enregistrez-le avec .js extension, par exemple trustwincerts.js et redémarrez Firefox. L'entrée apparaîtra dans about:config pour tous les utilisateurs.

Déploiement de certificats Windows à l'échelle du système

Dans Firefox de 49 à 51, il ne prend en charge que le magasin "Root". Depuis Firefox 52, il prend en charge d'autres magasins, y compris ceux ajoutés à partir du domaine via AD.

C'est un peu hors de portée mais explique qui était le seul magasin de certificats pris en charge par Firefox pour les versions 49 à 51 ou juste pour les tests locaux. Parce que cela se déploie pour tous les utilisateurs de la machine locale, il nécessite des privilèges d'administrateur dans votre fenêtre CMD/PowerShell ou dans votre propre script de déploiement automatisé .:

certutil -addstore Root path\to\cafile.pem

Cela peut également être fait à partir de la console de gestion en cliquant sur de nombreuses fenêtres si vous préférez la souris ( Comment: afficher les certificats avec le composant logiciel enfichable MMC Snap-In ) .

47
user241212

Avez-vous envisagé de déployer ces certificats sur Firefox ainsi que sur le magasin de certificats Windows?

https://wiki.mozilla.org/CA:AddRootToFirefox détaille quelques options:

  1. Modifiez la base de données des certificats directement à l'aide de certutil.
  2. Utilisez la fonction de configuration automatique de Firefox, en plaçant un fichier javascript à côté du binaire, pour ajouter les certificats:

    var certdb = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB);
    var certdb2 = certdb;
    try {
        certdb2 = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB2);
    } catch (e) {}
    cert = "MIIHPT...zTMVD"; // This should be the certificate content with no line breaks at all.
    certdb2.addCertFromBase64(cert, "C,C,C", "");
    
  3. Distribuez directement les fichiers de base de données de certificats.
  4. Package Firefox pour l'installation, y compris les certificats dans votre distribution.
  5. Utilisez CCK2 pour créer une extension qui ajoute les certificats.
2
wfaulk

Il y a projet gratuit qui offre la possibilité de gérer les certificats racine Firefox à l'aide de stratégies de groupe. Vous pouvez installer ou supprimer des certificats racine de la base de données Firefox.

1
Slipeer

Il n'y a pas de bonne façon de forcer l'utilisation du magasin système, mais il existe une solution de contournement intéressante (forcez l'utilisation d'un magasin compatible avec Firefox personnalisé).

Le morceau de script ci-dessous fonctionne bien à la connexion/déconnexion.

Stop-Process -processname firefox

$DBPath="\\yourserver\yourshare\cert8.db"
$FirefoxProfiles=Get-ChildItem $Env:appdata\Mozilla\Firefox\Profiles     
$DB=Get-Item $DBPath    
ForEach ( $Profile in $FirefoxProfiles )
{
    $FullPath=join-path $Env:appdata\Mozilla\Firefox\Profiles $Profile
    Copy-Item $DB $FullPath
    $FullPath
}
1
Tim Brigham