Chcę dodać niektóre główne urzędy certyfikacji, które nie są dostarczane z domyślnym firefoxem na Ubuntu, ale nie wiem jak.
Próbowałem dodać je do lokalnych certyfikatów za pomocą certutil
, ale to nie działało. Zepsuło to moją bazę certyfikatów.
$ certutil -A -d .mozilla/firefox/kek3dogy.default/ -i /usr/local/share/ca-certificates/FNMT_ACRAIZ.crt -n "Certificado Raiz FNMT" -t "TCu,Cuw,Tuw"
i wtedy
$ 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 ,,
Certyfikat nie pojawi się w przeglądarce Firefox. Próbowałem tego kilka razy, nawet usuwając profil, i pokazał się raz w interfejsie Firefox, ale całkowicie pusty.
W każdym razie, to jest tylko dla użytkownika i chcę dodać go do całego systemu. Czy istnieje ogólnosystemowa baza danych, którą mogę zmodyfikować? W jaki sposób?
Jeśli nie ma ogólnosystemowej bazy danych, którą mógłbym zmodyfikować, mogę polegać na skrypcie startowym X (jako takim /etc/X11/Xsession.d/
lub skrypcie wywoływanym przez system autostartu xdg włączony /etc/xdg/autostart/
), aby zmodyfikować profil użytkownika na początku sesji, ale potrzebuję rozwiązania, które Prace. Nie mogę teraz nawet ładować certyfikatów do profili użytkowników z wiersza poleceń!
źródło
profiles.ini
? Następnie możesz dodać do niego zmiany, a następnie skopiować je iprofiles.ini
do każdego katalogu użytkownika.firefox -p
- ale najpierw musisz go zamknąć.Odpowiedzi:
Problem polega na tym, że Firefox nie ma „centralnej” lokalizacji, w której szuka certyfikatów. Po prostu patrzy na bieżący profil. Dlatego modyfikowanie
/usr/share/ca-certificates
lub inne podobne katalogi nie będą działać z Firefoksem. To jest coś, o co prosiono od lat; patrz wydania 620373 , 449498 i 454036 (i prawdopodobnie jest wiele innych).Pozostają więc tylko dwa rodzaje rozwiązań: albo zmodyfikuj każdy profil, albo zmodyfikuj zachowanie Firefoksa. Wiem, że nie tego szukasz, ale nie ma możliwości, ponieważ Firefox patrzy tylko na profile użytkowników.
Powiedziawszy to, rozwiązaniem, które wybrałbym, jest użycie twardych lub symbolicznych łączy, a konkretnie wybrałbym twarde linki. To rozwiązanie jest z pewnością najłatwiejsze i prawdopodobnie lepsze, choć nie mam wystarczających informacji, aby ocenić.
To, co musisz zrobić, to w zasadzie usunięcie każdego
cert8.db
ikey3.db
plików dla każdego profilu i zastąpienie ich linkami do „najbardziej kompletnego”cert8.db
ikey3.db
. Jeśli korzystasz z twardych linków, oryginalnecert8.db
ikey3.db
będą nie do odróżnienia od nowych.Pamiętaj, aby dostosować uprawnienia do swoich potrzeb. Najprawdopodobniej będziesz musiał to
chmod a+rw
zrobić, aby każdy mógł dodać / usunąć certyfikat. Jeśli chcesz, aby tylko niektórzy użytkownicy mogli dodawać / usuwać certyfikaty, możesz utworzyć grupę, przypisać dwie bazy danych do tej grupy i+w
zezwolić tylko grupie.źródło
Najprostszym sposobem jest zaimportowanie certyfikatu do przykładowego profilu firefox, a następnie skopiowanie pliku cert8.db do użytkowników, których chcesz wyposażyć w certyfikat.
Najpierw zaimportuj certyfikat ręcznie do profilu firefox przykładowego użytkownika. Następnie skopiuj
do użytkowników profili firefox. to jest to! Jeśli chcesz się upewnić, że nowi użytkownicy otrzymują certyfikat automatycznie, skopiuj
cert8.db
do:Oto alternatywny sposób, który nie zastępuje istniejących certyfikatów: [fragment bash dla systemów Linux]
Możesz znaleźć certutil w pakiecie libnss3-tools (debian / ubuntu).
Zobacz także: Programowy import certyfikatu CA
Źródło: Programowo zainstaluj certyfikat w Mozilli
źródło
Wbrew powszechnemu przekonaniu Firefox może przeglądać certyfikaty systemowe zamiast własnego zestawu na stałe.
Aby to zrobić, będziesz chciał użyć pakietu o nazwie p11-kit . p11-kit stanowi zastępczą
libnssckbi.so
bibliotekę współdzieloną, która zawiera zakodowany zestaw certyfikatów. Wersja p11-kit zamiast tego odczytuje certyfikaty z systemowego magazynu certyfikatów.Ponieważ Firefox jest dostarczany z własną wersją
libnssckbi.so
, musisz go wyśledzić i zastąpić zamiast wersji podanej w libnss3:Następnie usuń
~/.pki
katalog, aby Firefox odświeżył bazę danych certyfikatów (powodując pobranie certyfikatów systemowych) po ponownym uruchomieniu Firefoksa. Uwaga: spowoduje to usunięcie wszystkich istniejących certyfikatów w sklepie, więc jeśli masz niestandardowe, które dodałeś ręcznie, możesz wykonać kopię zapasową tego folderu, a następnie ponownie go zaimportować.źródło
dpkg-divert
krok, aby uniknąć ponownego zastąpienia pliku przez APT podczas aktualizacji pakietu Firefox.Jedną z funkcji dodatku CCK Wizard Firefox jest importowanie certyfikatów CA. Używam tego dodatku do tworzenia niestandardowego dodatku zawierającego firmowy certyfikat CA. Następnie pakuję niestandardowe xpi do .deb w wewnętrznym repozytorium, z którego wszystkie stacje robocze otrzymują aktualizacje.
Kreator CCK
EDYCJA: Aby spakować xpi dla Ubuntu, musisz utworzyć pakiet zawierający katalog / usr / lib / firefox-addons / extensions / [addon-name @ servername] i rozpakuj całą zawartość xpi do tego katalogu . Na przykład, jeśli nazwiesz swój dodatek foobarbaz, a serwerem, z którego chcesz go zaktualizować (jeśli chcesz włączyć tę funkcję), jest intranet.przyklad.com, katalog będzie miał postać [email protected]. Nigdy nie włączam automatycznej aktualizacji, ale zamiast tego aktualizuję deb w repozytorium.
źródło
Firefox działa po czystej instalacji. Jeśli baza danych certyfikatów
cert8.db
zostanie usunięta, zostanie ponownie wygenerowana przy następnym uruchomieniu Firefoksa. To zdecydowanie sugeruje, że w całym systemie istnieje domyślna pamięć masowa certyfikatów CA.Kod źródłowy Firefoksa pokazuje, że wbudowane certyfikaty CA są w rzeczywistości zakodowane na
firefox
stałe w plikach wykonywalnych. Znajdują się w security / nss / lib / ckfw / builtins / certdata.txtNie ma więc możliwości zainstalowania certyfikatu w całym systemie. Uwaga: łatanie kodu źródłowego może powodować problemy z prawami własności intelektualnej.
źródło
Korzystam z aplikacji „User Environment Virtualization” (UEV), która robi to dla moich użytkowników, ale możesz to zrobić za pomocą skryptów logowania w klientach Windows tak samo. Nie opublikuję całego kodu, aby dynamicznie znaleźć ścieżkę% APPDATA% \ Mozilla \ Firefox \% PROFILE%, ale gdy ją znajdziesz, możesz zaimportować skrypty za pomocą podstawowych poleceń. W zasadzie czytam plik profili Firefox.ini, aby określić ścieżkę do profilu Firefox / cert8.db.
Możesz skorzystać z aplikacji certutil.exe. https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/tools/NSS_Tools_certutil
Możesz uruchamiać skrypty logowania dla użytkowników, którzy automatycznie importują zaufane certyfikaty z centralnej lokalizacji do Firefoksa wszystkich użytkowników w systemie.
Oto „rdzeń” skryptu vb importu certyfikatu:
źródło
Dowiedziałem się, że przez większość czasu i domyślnie, jeśli nie jest skonfigurowany, Firefox używa starszych baz danych bezpieczeństwa (cert8.db, key3.db i secmod.db), co oznacza, że będziesz musiał użyć innego wiersza polecenia, aby wstrzyknąć certyfikat do poprawna baza danych, której używa Firefox. (zobacz więcej od człowieka z certutil)
więc jeśli system korzysta z domyślnej bazy danych, polecenie powinno wyglądać następująco: (dbm)
inaczej powinno być tak: (sql)
od man certutil:
źródło
certutil
poleceniem działało. Chciałem zautomatyzować skrypt instalacyjny dla jednego użytkownika i to załatwia sprawę. Musiszapt-get install libnss3-tools
to miećcertutil
.