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ć.

Sparky1
źródło
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
Bai
źródło
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 .

Frantisek Boranek
źródło
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.
Alex
źródło
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 
Jasmit Tarang
źródło
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.

Ian Green
źródło
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.

jat255
źródło
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.

pizzamonster
źródło
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.

kenorb
źródło
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!

mahatmanich
źródło