Jak zainstalować certyfikat główny?


223

Czy ktoś może wskazać mi dobry samouczek na temat instalowania certyfikatu głównego na Ubuntu 10 lub 11?

Dostałem .crtplik. Zbieram potrzebę utworzenia katalogu /usr/share/ca-certificates/newdomain.orgi umieszczenia go .crt w tym katalogu. Poza tym nie jestem pewien, jak postępować.


19
Jeśli ktoś ląduje tutaj z plikiem cer zamiast crt, jest to to samo (tylko z innym rozszerzeniem). Powinieneś być w stanie postępować zgodnie z tymi odpowiedziami i po prostu zastąpić nazwę pliku.
— Oli

Przy okazji: aby uzyskać wygodny sposób uzyskiwania certyfikatów CA z wiersza polecenia, spójrz tutaj na błąd serwera.
— Frank Nocke,

Odpowiedzi:


297

Instalowanie certyfikatu root / CA

Biorąc pod uwagę plik certyfikatu urzędu certyfikacji foo.crt, wykonaj następujące kroki, aby zainstalować go na Ubuntu:

  1. Utwórz katalog dla dodatkowych certyfikatów CA w /usr/share/ca-certificates:

    sudo mkdir /usr/share/ca-certificates/extra
    
  2. Skopiuj .crtplik CA do tego katalogu:

    sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt
    
  3. Niech Ubuntu dodać .crtścieżkę do pliku w stosunku /usr/share/ca-certificatesdo /etc/ca-certificates.conf:

    sudo dpkg-reconfigure ca-certificates
    

    Aby to zrobić nieinteraktywnie, uruchom:

    sudo update-ca-certificates
    

W przypadku .pempliku w systemie Ubuntu należy go najpierw przekonwertować na .crtplik:

openssl x509 -in foo.pem -inform PEM -out foo.crt

54
Co powiesz na używanie /usr/local/share/ca-certificates(lokalnie!) Zamiast bezpośredniego zarządzania pakietami systemowymi?
— gertvdijk

6
Zwróć uwagę, że Firefox (i może jakieś inne oprogramowanie) nie używa certyfikatów systemowych, ale ma własny magazyn certyfikatów: askubuntu.com/a/248326/79344 .
— Amir Ali Akbari

12
Pamiętaj, że plik musi być w formacie PEM i mieć rozszerzenie „.crt”.
— Anton

2
sudo dpkg-reconfigure ca-certificatesDzięki, ten drugi sudo update-ca-certificates --freshnie działał 16.10.
— antivirtel

7
Polecenie openssl x509 -in foo.pem -inform PEM -out foo.crtkopiuje plik PEM do pliku PEM. Można to zrobić łatwiej poprzez zmianę nazwy.
— Marian

190

Biorąc pod uwagę plik certyfikatu urzędu certyfikacji „foo.crt”, wykonaj następujące kroki, aby zainstalować go na Ubuntu:

Najpierw skopiuj swój CA do reż /usr/local/share/ca-certificates/

sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt

następnie zaktualizuj sklep CA

sudo update-ca-certificates

To wszystko. Powinieneś otrzymać ten wynik:

Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....
Adding debian:foo.pem
done.
done.

Do edycji nie jest potrzebny żaden plik. Łącze do urzędu certyfikacji jest tworzone automatycznie.

Pamiętaj, że nazwy plików certyfikatów muszą kończyć się na .crt, w przeciwnym razie update-ca-certificatesskrypt ich nie odbierze.

Ta procedura działa również w nowszych wersjach: instrukcjach .


1
wydaje się, że to nie działa w zaufanym Tahr 14.04
— McSinin

25
Należy pamiętać, że w przeciwieństwie do dodawania do / usr / share / ca-certyfikatów, wydaje się, że działa to tylko wtedy, gdy znajdują się bezpośrednio w / usr / local / share / ca-certyfikaty, a nie w podkatalogu. +1 za użycie folderu lokalnego zamiast folderu systemowego!
— Toby J

2
Jest to udokumentowane w README.Debian .
— pevik

1
@ Sparky1, To powinna być zaakceptowana odpowiedź.
— Drew Chapin

1
@FranklinYu dzięki :) Debian przeniósł się z Alioth do Salsy, to też by działało: salsa.debian.org/debian/ca-certificates/raw/master/debian/... , ale sources.debian.org jest lepsze.
— pevik

7

Zainstaluj urząd certyfikacji w systemie Ubuntu

Przetestowałem to na Ubuntu 14.04.

Oto moje rozwiązanie, szukałem i szukałem przez długi czas, próbując dowiedzieć się, jak to zrobić.

  1. Wyodrębnij .cer z przeglądarki. Użyłem IE 11.
    • Ustawienia -> Opcje internetowe -> Pośrednie urzędy certyfikacji
    • Wybierz urząd certyfikacji, który chcesz wyeksportować ( certutil -config - -pingpokaże te, których używasz, jeśli jesteś za korporacyjnym proxy)
    • Eksportuj -> Wybierz format, którego chcesz użyć: kodowanie DER .cer
  2. Jakoś przenieś pliki .cer do Ubuntu
  3. Konwertuj na .crt openssl x509 -inform DER -in certificate.cer -out certificate.crt
  4. Zrób dodatkowy katalog sudo mkdir /usr/share/ca-certificates/extra
  5. Skopiuj certyfikaty sudo cp certificate.crt /usr/share/ca-certificates/extra/certificate.crt
  6. sudo update-ca-certificates
  7. Jeśli nie, musisz zrobić to, co ja, przejdź do sudo nano /etc/ca-certificates.conf
  8. Przewiń w dół i znajdź .cer i usuń !przed nazwą pliku (update-ca-certyfikaty doc) - jeśli nie możesz uruchomić swojego certyfikatudpkg-reconfigure ca-certificates
  9. Biegać sudo update-ca-certificates
  10. Może być konieczne indywidualne zaufanie do urzędów certyfikacji z przeglądarki Firefox, Chrome itp., Potrzebowałem go do pracy z Dockerem, więc po wykonaniu tych kroków działało z Dockerem.

1
czy to działa w 16.04?
— endolith

@endolith pracował dla mnie w 16.04.
— Shubham,

4

Inne odpowiedzi nie działały dla mnie z Ubuntu 18.04. Dołącz certyfikat certyfikatu do /etc/ssl/certs/ca-certificates.crtnastępującego polecenia:

cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt 

1
2 godziny gadania z poleceniami importu, zanim to znalazłem. Doskonały!
— beirtipol

Polecenie to jest źle, ostateczna sbrakuje: cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt . Dzięki za to rozwiązanie.
— SommerEngineering

Uwaga: Jest to rozwiązanie tymczasowe, ponieważ dodany certyfikat zostanie usunięty po uruchomieniu update-ca-certificates.
— kenorb

3

Przygotuj certyfikat (root / CA) na serwerze internetowym, jeśli chcesz, lokalnym w sieci.

  • Przeglądaj w przeglądarce Firefox.
  • Otwórz certyfikat i powiedz Firefoxowi, aby dodał go jako wyjątek.
  • Firefox zapyta Cię, czy chcesz zaufać temu certyfikatowi w zakresie identyfikacji stron internetowych, użytkowników poczty e-mail lub wydawców oprogramowania.
  • Cieszyć się!

Aktualizacja: Konieczne będzie sprawdzenie, czy to działa na Ubuntu 11. Zdałem sobie sprawę, że właśnie to zrobiłem na Ubuntu 12.04 LTS.


5
czy Firefox nie ma własnego kontenera certyfikatów? Gdyby dodać certyfikat w ten sposób, po prostu Firefox mógłby go użyć, prawda?
— Aiyion.Prime

To w ogóle nie działa, nadal musisz dodać go do globalnego kontenera certyfikatów systemu operacyjnego, w przeciwnym razie będzie to tylko kontener Firefox.
— arc_lupus

1

Od tutaj :

Instalowanie certyfikatu

Możesz zainstalować plik klucza example.key i plik certyfikatu example.crt lub plik certyfikatu wydany przez urząd certyfikacji, uruchamiając następujące polecenia w wierszu polecenia terminalu:

sudo cp example.crt /etc/ssl/certs
sudo cp example.key /etc/ssl/private

Teraz wystarczy skonfigurować dowolne aplikacje, z możliwością korzystania z kryptografii klucza publicznego, w celu korzystania z certyfikatu i plików kluczy. Na przykład Apache może zapewnić HTTPS, Dovecot może dostarczyć IMAPS i POP3S itp.


Powinienem był przeczytać więcej ... Wygląda na to, że nie dotyczy to certyfikatów głównych. Ta strona, do której odsyłam, zawiera informacje o certyfikatach głównych, które mogą być przydatne.
— jat255,

1
Nie mam klucza publicznego i prywatnego, po prostu mam .crt, więc niestety te instrukcje nie mają zastosowania.
— Sparky1,

0

Dodanie certyfikatu głównego urzędu certyfikacji w FireFox jest teraz bardzo proste. Po prostu otwórz preferencje, przejdź do „Prywatności i bezpieczeństwa”, przewiń w dół do „Certyfikatów” i kliknij „Wyświetl certyfikaty ...”. Tutaj możesz kliknąć „Importuj certyfikat”. Wskaż swój główny urząd certyfikacji (.pem) i OK. To wszystko ludzie.


0

Oto proste kroki:

  1. Zainstaluj certyfikaty CA, aby umożliwić aplikacjom opartym na SSL sprawdzanie autentyczności połączeń SSL:

    sudo apt-get install ca-certificates
    
  2. Skopiuj plik certyfikatu ( crtlub.cer ) do /usr/local/share/ca-certificates/folderu, np .:

    sudo cp file.crt /usr/local/share/ca-certificates/
    

    Aby zapoznać się z plikiem PEM, zobacz: Konwertuj .pem na .crt i .key .

    Opcjonalnie, jeśli używasz proxy Charlesa, to polecenie może działać:

    curl -L chls.pro/ssl | sudo tee /usr/local/share/ca-certificates/charles.crt
    
  3. Zaktualizuj certyfikaty:

    sudo update-ca-certificates
    

    Polecenie zaktualizuje /etc/ssl/certskatalog, aby przechował certyfikaty SSL i wygenerował ca-certificates.crtplik (połączoną listę certyfikatów z jednym plikiem).

    Uwaga: Nie dodawaj certyfikatów ręcznie (jak sugerowano tutaj ), ponieważ nie są trwałe i zostaną usunięte.

Uwaga: jeśli używasz jako root, możesz usunąć sudopowyższe polecenia.


0

Wyjaśnienie pomiędzy update-ca-certificatesa dpkg-reconfigure ca-certificatesi dlaczego jeden dzieł i drugi nie !!

update-ca-certificateslub sudo update-ca-certificates będzie działać tylko, jeśli /etc/ca-certificates.conf został zaktualizowany.

/etc/ca-certificate.conf jest aktualizowany tylko po uruchomieniu, dpkg-reconfigure ca-certificates który aktualizuje nazwy certyfikatów do zaimportowania/etc/ca-certificates.conf

Jest to określone w nagłówku /etc/ca-certificates.confpliku:

# This file lists certificates that you wish to use or to ignore to be
# installed in /etc/ssl/certs.
# update-ca-certificates(8) will update /etc/ssl/certs by reading this file.
#
# This is autogenerated by dpkg-reconfigure ca-certificates.  <=======
# Certificates should be installed under /usr/share/ca-certificates
# and files with extension '.crt' is recognized as available certs.
#
# line begins with # is comment.
# line begins with ! is certificate filename to be deselected.
#
mozilla/ACCVRAIZ1.crt
mozilla/AC_RAIZ_FNMT-RCM.crt
mozilla/Actalis_Authentication_Root_CA.crt
mozilla/AddTrust_External_Root.crt
...

Jak widać format /etc/ca-certificates.confma postać<folder name>/<.crt name>

Więc aby użyć update-ca-certificateslub sudo update-ca-certificatesmożesz wykonać następujące czynności, aby zaimportować plik .crt:

  1. Utwórz katalog dodatkowych certyfikatów CA w / usr / share / ca-certyfikaty:

    sudo mkdir /usr/share/ca-certificates/extra

  2. Skopiuj plik .crt do tego katalogu:

    sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt

  3. Dodaj wiersz do /etc/ca-certificates.confużycia <folder name>/<.crt name>:

    echo "extra/foo.crt" >> /etc/ca-certificate.conf

  4. Aktualizuj certyfikaty nieinteraktywnie za pomocą sudo update-ca-certyfikatów

    sudo update-ca-certificates

    ... Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.

Baw się dobrze!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.