Frage Wie kann ich Firefox-System-CA-Zertifikaten vertrauen?


Unser Netzwerkadministrator hat kürzlich die HTTPS-Überprüfung unserer Firewall / Router aktiviert. Für IE-Benutzer ist dies in Ordnung, da die Zertifikate über Active Directory für Domänencomputer verteilt wurden. Wir haben jedoch eine Reihe von Firefox-Benutzern, die jetzt Zertifikatsfehler auf praktisch jeder HTTPS-Site werfen.

Firefox verwendet einen eigenen CA Store, und sie sind auch wirklich stolz darauf. Gibt es eine Möglichkeit, Firefox dazu zu bringen, dem Systemzertifikatsspeicher standardmäßig zu vertrauen? Ich sehe eine Menge Posts darüber, wie man das unter Linux macht, aber nichts für Windows.

Ich vermute von dieser Beitrag das ist nicht möglich, aber dieser Beitrag ist fast 4 Jahre alt.


20
2017-09-15 21:24


Ursprung




Antworten:


Seit Firefox 49 gibt es Unterstützung für Windows-CA-Zertifikate und Unterstützung für Active Directory bietet seit Firefox 52 Enterprise-Root-Zertifikate.

Es ist nicht geplant, diese Funktion standardmäßig zu aktivieren, da nicht festgelegt ist, was passiert, wenn Firefox- oder Windows-Stores unterschiedliche Vertrauensstufen für installierte Zertifikate haben.

Sie können diese Funktion aktivieren in about:config durch Erstellen dieses booleschen Werts:

security.enterprise_roots.enabled

und setze es auf true.

Bereitstellen des Konfigurationssystems

Wechseln Sie im Firefox-Installationsordner zu defaults\pref\ Ordner und erstellen Sie eine neue Datei mit den folgenden:

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

Speichere es mit .js Verlängerung, z.B. trustwincerts.js und starte Firefox neu. Der Eintrag erscheint in about:config für alle Benutzer.

Systemweites Bereitstellen von Windows-Zertifikaten

In Firefox von 49 bis 51 unterstützt es nur den "Root" Store. Seit Firefox 52 unterstützt es andere Geschäfte, einschließlich derjenigen, die von der Domain über AD hinzugefügt wurden.

Dies ist ein wenig außerhalb des Bereichs, erklärt aber, welcher der einzige von Firefox unterstützte Zertifikatspeicher für die Versionen 49 bis 51 oder nur für lokale Tests war. Da dies für alle Benutzer der lokalen Maschine implementiert wird, sind Administratorrechte in Ihrem CMD / PowerShell-Fenster oder in Ihrem eigenen automatisierten Bereitstellungsskript erforderlich .:

certutil -addstore Root path\to\cafile.pem

Dies kann auch von der Management Console aus erfolgen, indem Sie auf viele Fenster klicken, wenn Sie die Maus bevorzugen (Gewusst wie: Anzeigen von Zertifikaten mit dem MMC-Snap-In).


36
2017-12-16 18:26



Wissen Sie, in welchen Zertifikatsspeicher das Zertifikat geladen werden muss, damit dies funktioniert? - ETL
@ETL Ich habe nur mit dem lokalen Rechnersystem Trust Store getestet, was gut ist, da es mit allen Rechnerkonten funktioniert. Laut Mozilla-Wiki-Seite, die in einer anderen Antwort erwähnt wird, erwarten sie vollständige Unterstützung von Certs (einschließlich AD-Certs) in Firefox 52. Standardmäßig zeigt certmgr.msc Benutzer certstore, aber Sie müssen es dem lokalen Computer certstore hinzufügen. Sie können auch Windows certutil verwenden (nicht mit Mozillas NSS-Zertifikat verwechseln), um es zu implementieren. - Francisco de la Peña
Arg. Ich habe das Zertifikat installiert (ich füge sie mithilfe von Gruppenrichtlinien den vertrauenswürdigen Stammzertifizierungsstellen des lokalen Computers hinzu). Ich habe die Firefox-Option aktiviert, aber das Zertifikat wird immer noch nicht auf FF 50.1 verwendet. Hast du deine Zeugnisse? - ETL
Die Checkliste ist: 1: Firefox listet Windows-Zertifikate nicht unter Erweitert -> Zertifikate auf, sollte aber trotzdem vertrauenswürdig sein. 2: Das Serverzertifikat muss mit dieser CA erstellt werden, indem eine CA direkt verwendet wird, da das Serverzertifikat nicht funktioniert. 3: Das Serverzertifikat muss ordnungsgemäß generiert werden und CA-Richtlinien für alternative Subjektnamen erben. 4: Falls der certstore der falsche ist, versuchen Sie es mit Microsoft's certutil, und zwar in einem Administrator cmd Fenster: certutil -addstore Root path\to\cafile.pem (oder .crt) - Francisco de la Peña
Dies wird auch in erwähnt Mozilla Wiki. - Franklin Yu


Haben Sie darüber nachgedacht, diese Zertifikate sowohl für Firefox als auch für den Windows-Zertifikatspeicher bereitzustellen?

https://wiki.mozilla.org/CA:AddRootToFirefox Details ein paar Optionen:

  1. Ändern Sie die Zertifikatsdatenbank direkt mit certutil.
  2. Verwenden Sie die Autokonfig-Funktion von Firefox, indem Sie neben der Binärdatei eine JavaScript-Datei platzieren, um die Zertifikate hinzuzufügen:

    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. Verteilen Sie die Zertifikatsdatenbankdateien direkt.
  4. Paket Firefox für die Installation, einschließlich der Zertifikate in Ihrer Distribution.
  5. Benutzen CCK2 Erstellen einer Erweiterung, die die Zertifikate hinzufügt.

2
2017-09-15 22:47





Es gibt keinen guten Weg, um die Verwendung des Systemspeichers zu erzwingen, aber es gibt eine nette Problemumgehung (erzwinge die Verwendung eines angepassten Firefox-kompatiblen Speichers).

Das unten stehende Skript funktioniert gut beim Anmelden / Abmelden.

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
2017-09-15 21:45



Sie könnten sogar auf eine Idee wie diese erweitern und die aktuelle Liste vertrauenswürdiger Zertifikate aus dem Windows-Speicher holen und die Datei cert8.db im laufenden Betrieb mit dem Mozilla-Zertifikat generieren, auf das in wfaulks Antwort verwiesen wird. - Ryan Bolger


Es gibt freies Projekt Dies bietet die Möglichkeit, Firefox-Root-Zertifikate mithilfe von Gruppenrichtlinien zu verwalten. Sie können Stammzertifikate entweder aus der Firefox-Datenbank installieren oder entfernen.


0
2018-01-22 11:27