Wygenerowałem samopodpisany certyfikat dla mojego serwera kompilacji i chciałbym globalnie zaufać certyfikatowi na moim komputerze, ponieważ sam utworzyłem klucz i mam dość ostrzeżeń.
Jestem na Ubuntu 12.04. Jak mogę wziąć certyfikat i globalnie mu ufać, aby przeglądarki (Google Chrome), narzędzia CLI (wget, curl) i języki programowania (Python, Java itp.) Ufały połączeniu z https://mysite.com bez pytania pytania?
Odpowiedzi:
Prosta odpowiedź na to jest taka, że prawie każda aplikacja będzie traktować to inaczej.
Również OpenSSL i GNUTLS (najczęściej używane biblioteki przetwarzania certyfikatów używane do obsługi podpisanych certyfikatów) zachowują się inaczej w traktowaniu certyfikatów, co również komplikuje problem. Również systemy operacyjne wykorzystują różne mechanizmy do korzystania z „głównego urzędu certyfikacji” używanego przez większość stron internetowych.
Poza tym, podając jako przykład Debiana. Zainstaluj
ca-certificates
pakiet:Następnie skopiuj publiczną połowę swojego niezaufanego certyfikatu CA (tego, którego używasz do podpisania CSR) do katalogu certyfikatów CA (jako root):
I przebuduj katalog z dołączonym certyfikatem, uruchom jako root:
i wybierz
ask
opcję, przewiń do certyfikatu, zaznacz go do włączenia i wybierz ok.Większość przeglądarek korzysta z własnej bazy danych urzędów certyfikacji, dlatego też narzędzia takie
certutil
muszą być używane do modyfikowania ich zawartości (w Debianie dostarczanym przezlibnss3-tools
pakiet). Na przykład w Chrome uruchamiasz coś w stylu:Firefox pozwoli ci przejść do certyfikatu na dysku, rozpoznać go jako plik certyfikatu, a następnie zaimportować go do listy Root CA.
Większość innych poleceń, takich jak
curl
przejęcie przełączników wiersza polecenia, których można użyć do wskazywania urzędu certyfikacji,lub całkowicie zrezygnuj z sprawdzania poprawności protokołu SSL
Reszta będzie wymagała indywidualnego dochodzenia, jeśli
ca-certificates
podobny trik nie posortuje go dla tej konkretnej aplikacji.źródło
dpkg-reconfigure ca-certificates
liście. Co ja robię źle?whatever.pem
nawhatever.crt
..cer
i to nie działało. Musiałem zmienić nazwę, aby.crt
to było rozpoznane.Podejście nieinteraktywne
Aby użyć w nieinteraktywnym kontekście (np. Przepis szefa kuchni), możesz użyć następującej sekwencji.
man update-ca-certificates
Ta metoda jest lepsza niż metoda @ Drav, ponieważ
/usr/share/
zwykle jest zarezerwowana dla plików dodanych przez system operacyjny /apt-get
.źródło
/usr/local/share/ca-certificates/
jak wspomniano na stronach.crt
, stwierdziłem.cert
, że zostało dodane, ale nie pomogłoW Fedorze 23 dodaj plik .pem lub .der
/etc/pki/ca-trust/source/anchors/
i uruchomsudo update-ca-trust extract
.Zobacz
man update-ca-trust
szczegóły, np. Czy użyć / etc lub / usr.źródło
W centach:
źródło
openssl connect
powinienem określać ten folder / anchors? Nadalself signed certs
Podejście nieinteraktywne (18 października)
dla najnowszych systemów opartych na Debianie
Istnieje różnica między dodawaniem certyfikatu do sklepu hosta a aktywowaniem go, aby aplikacje naprawdę z niego korzystały. Istniejące certyfikaty w sklepie niekoniecznie są używane (chociaż muszę przyznać, że i tak wiele błędów jest błędnych).
Może to być mylące, gdy konfigurujesz pakiet, który rozważa
/etc/ca-certificate.conf
i po prostu odmawia użycia twojego certyfikatu, chociaż ma zostało dodane bez błędu. Musiszupdate-ca-certificates
wyraźnie powiedzieć (nie tylko kopiować, ale) aktywować certyfikat, dodając go do/etc/ca-certificate.conf
lub/etc/ca-certificate/update.d
.Teraz robi się to mylące, ponieważ istnieje sposób na niejawne zaufanie do certyfikatu przy użyciu innej ścieżki:
źródło