Ich möchte einige Stammzertifizierungsstellen hinzufügen, die nicht mit dem Standard-Firefox unter Ubuntu geliefert werden, weiß aber nicht, wie.
Ich habe versucht, sie zu den lokalen Zertifikaten mit hinzuzufügen certutil
, aber es hat nicht funktioniert. Es hat meine Zertifikatsdatenbank durcheinander gebracht.
$ certutil -A -d .mozilla/firefox/kek3dogy.default/ -i /usr/local/share/ca-certificates/FNMT_ACRAIZ.crt -n "Certificado Raiz FNMT" -t "TCu,Cuw,Tuw"
und dann
$ certutil -L -d .mozilla/firefox/kek3dogy.default/
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
Go Daddy Secure Certification Authority ,,
VeriSign Class 3 Secure Server CA - G3 ,,
VeriSign Class 3 Extended Validation SSL CA ,,
DigiCert High Assurance CA-3 ,,
GlobalSign Domain Validation CA - G2 ,,
GeoTrust SSL CA ,,
StartCom Class 2 Primary Intermediate Server CA ,,
Google Internet Authority ,,
Certificado Raiz FNMT CT,C,c
USERTrust Legacy Secure Server CA ,,
HP Jetdirect 2B0EAD20 ,,
Akamai Subordinate CA 3 ,,
VeriSign, Inc. ,,
Thawte SGC CA ,,
VeriSign Class 3 Secure Server CA - G2 ,,
Das Zertifikat wird in Firefox nicht angezeigt. Ich habe es mehrmals versucht, habe sogar das Profil gelöscht, und es wurde einmal auf der Firefox-Oberfläche angezeigt, war aber völlig leer.
Sowieso ist das nur für einen Benutzer, und ich möchte sie systemweit hinzufügen. Gibt es eine systemweite Datenbank, die ich ändern kann? Wie?
Wenn es keine systemweite Datenbank gibt, die ich ändern kann, kann ich mich auf ein X- /etc/X11/Xsession.d/
Startskript (als solches oder ein Skript, das vom xdg-Autostart-System aufgerufen wird /etc/xdg/autostart/
) verlassen, um das Benutzerprofil beim Sitzungsstart zu ändern, aber ich benötige eine Lösung dafür funktioniert. Ich kann nicht einmal Zertifikate von der Kommandozeile auf die Benutzerprofile laden!
quelle
profiles.ini
? Dann können Sie Ihre Änderungen hinzufügen und dannprofiles.ini
in jedes Benutzerverzeichnis kopieren .firefox -p
- aber Sie müssen Firefox zuerst schließen.Antworten:
Das Problem hierbei ist, dass Firefox keinen "zentralen" Ort hat, an dem nach Zertifikaten gesucht wird. Es wird nur das aktuelle Profil angezeigt. Das ist der Grund, warum das Ändern
/usr/share/ca-certificates
oder ähnliches von Verzeichnissen mit Firefox nicht funktioniert. Dies wird seit Jahren gefordert. Siehe Ausgaben 620373 , 449498 und 454036 (und wahrscheinlich gibt es viele andere).Sie haben also nur zwei Arten von Lösungen: entweder jedes Profil ändern oder das Verhalten von Firefox ändern. Ich weiß, dass dies nicht das ist, wonach Sie suchen, aber es gibt keine Möglichkeiten, da Firefox nur die Benutzerprofile betrachtet.
Allerdings würde ich als Lösung harte oder symbolische Links wählen, insbesondere Hardlinks. Diese Lösung ist sicherlich die einfachste und wahrscheinlich die bessere, obwohl ich nicht genug Informationen habe, um zu beurteilen.
Was Sie tun müssen, ist grundsätzlich jede Entfernung
cert8.db
undkey3.db
Dateien für jedes Profil und ersetzen sie durch Links auf die „kompletteste“cert8.db
undkey3.db
. Wenn Sie mit Hardlinks gehen, wird das Originalcert8.db
undkey3.db
von den neuen nicht zu unterscheiden sein.Denken Sie daran, die Berechtigungen an Ihre Bedürfnisse anzupassen. Höchstwahrscheinlich müssen Sie,
chmod a+rw
damit jeder ein Zertifikat hinzufügen / entfernen kann. Wenn Sie möchten, dass nur bestimmte Benutzer Zertifikate hinzufügen / entfernen können, können Sie eine Gruppe erstellen, die beiden Datenbanken dieser Gruppe zuweisen und+w
nur der Gruppe die Berechtigung erteilen .quelle
Am einfachsten ist es, das Zertifikat in ein Beispiel-Firefox-Profil zu importieren und dann die Datei cert8.db an die Benutzer zu kopieren, die mit dem Zertifikat ausgestattet werden sollen.
Importieren Sie das Zertifikat zunächst von Hand in das Firefox-Profil des Beispielbenutzers. Dann kopieren
in die Benutzer Firefox-Profile. Das ist es. Wenn Sie sicherstellen möchten, dass neue Benutzer das Zertifikat automatisch erhalten, kopieren Sie
cert8.db
nach:Hier ist eine alternative Methode, die die vorhandenen Zertifikate nicht überschreibt: [Bash-Fragment für Linux-Systeme]
Sie finden certutil möglicherweise im Paket libnss3-tools (debian / ubuntu).
Siehe auch: Programmatischer Import von CA-Zertifikaten
Quelle: Programmgesteuertes Installieren des Zertifikats in Mozilla
quelle
Entgegen der landläufigen Meinung, Sie können Firefox Blick auf die Systemzertifikate anstelle seiner eigenen hartcodierte Satz erhalten.
Dazu möchten Sie ein Paket namens p11-kit verwenden . p11-kit bietet einen Drop-In-Ersatz für
libnssckbi.so
die gemeinsam genutzte Bibliothek, die die fest codierten Zertifikate enthält. Die p11-kit-Version liest stattdessen die Zertifikate aus dem Systemzertifikatsspeicher.Da Firefox mit einer eigenen Version von ausgeliefert wird
libnssckbi.so
, müssen Sie diese aufspüren und anstelle der in libnss3 bereitgestellten Version ersetzen:Löschen Sie anschließend das
~/.pki
Verzeichnis, damit Firefox die Zertifikatsdatenbank aktualisiert (wodurch die Systemzertifikate abgerufen werden), wenn Firefox neu gestartet wird. Hinweis: Dadurch werden alle vorhandenen Zertifikate im Speicher gelöscht. Wenn Sie also benutzerdefinierte Zertifikate manuell hinzugefügt haben, möchten Sie diesen Ordner möglicherweise sichern und anschließend erneut importieren.quelle
dpkg-divert
Schritt hinzufügen , um zu vermeiden, dass APT die Datei beim Upgrade des Firefox-Pakets erneut überschreibt.Eine der Funktionen des Firefox-Add-Ons CCK Wizard ist das Importieren von CA-Zertifikaten. Ich verwende dieses Add-On, um ein benutzerdefiniertes Add-On zu erstellen, das ein CA Cert-Unternehmen enthält. Anschließend packe ich das benutzerdefinierte xpi in eine .deb-Datei im internen Repository, von der alle Arbeitsstationen Updates erhalten.
CCK-Assistent
BEARBEITEN: Um das xpi für Ubuntu zu packen, müssen Sie ein Paket erstellen, das das Verzeichnis / usr / lib / firefox-addons / extensions / [Addon-Name @ Servername] enthält, und den gesamten Inhalt des xpi in dieses Verzeichnis entpacken . Wenn Sie beispielsweise Ihr Addon foobarbaz benennen und der Server, von dem aus Sie es aktualisieren möchten (wenn Sie diese Funktion aktivieren möchten), intranet.example.com lautet, lautet das Verzeichnis [email protected]. Ich aktiviere niemals das automatische Update, sondern aktualisiere stattdessen die Deb im Repo.
quelle
Firefox funktioniert nach einer Neuinstallation. Wenn die Zertifikatsdatenbank in
cert8.db
gelöscht wird, wird sie beim nächsten Firefox-Start neu erstellt. Dies deutet stark darauf hin, dass es einen systemweiten Standardspeicher für CA-Zertifikate gibt.Der Quellcode von Firefox zeigt, dass die eingebauten CA-Zertifikate tatsächlich fest in die
firefox
ausführbare Datei codiert sind . Sie befinden sich in security / nss / lib / ckfw / builtins / certdata.txtEs gibt also keine Möglichkeit, ein Zertifikat systemweit zu installieren. Beachten Sie, dass das Patchen von Quellcode Probleme mit Rechten an geistigem Eigentum verursachen kann.
quelle
Ich verwende eine UEV-Anwendung (User Environment Virtualization), die dies für meine Benutzer ausführt. Sie können dies jedoch auch mit Anmeldeskripts in Windows-Clients ausführen. Ich werde nicht den gesamten Code veröffentlichen, um den Pfad% APPDATA% \ Mozilla \ Firefox \% PROFILE% dynamisch zu finden, aber wenn Sie ihn finden, können Sie die Skripte mit einigen grundlegenden Befehlen importieren. Grundsätzlich lese ich die Datei Firefox profiles.ini, um den Pfad zum Firefox-Profil / cert8.db zu ermitteln.
Möglicherweise möchten Sie die Anwendung certutil.exe verwenden. https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/tools/NSS_Tools_certutil
Sie können Anmeldeskripts für Benutzer ausführen, die die vertrauenswürdigen Zertifikate automatisch von einem zentralen Speicherort in den Firefox aller Benutzer im System importieren.
Hier ist der "Kern" meines Zertifikatsimport-VB-Skripts:
quelle
Ich habe herausgefunden, dass Firefox die meiste Zeit und standardmäßig, sofern nicht anders konfiguriert, ältere Sicherheitsdatenbanken (cert8.db, key3.db und secmod.db) verwendet, was bedeutet, dass Sie eine andere Befehlszeile verwenden müssen, um das Zertifikat einzuspielen die richtige Datenbank, die Firefox verwendet. (sehen Sie mehr vom Mann von certutil)
Wenn Ihr System die Standarddatenbank verwendet, sollte der Befehl folgendermaßen lauten: (dbm)
ansonsten sollte es so sein: (sql)
vom Mann certutil:
quelle
certutil
Befehl hat funktioniert. Ich habe nach einer Automatisierung eines Einrichtungsskripts für einen einzelnen Benutzer gesucht, und dies ist der Trick. Du musstapt-get install libnss3-tools
habencertutil
.