Wyświetl wszystkie dostępne certyfikaty ssl ca

35

Mój klient git twierdzi

error: Peer's Certificate issuer is not recognized.

Oznacza to, że nie może znaleźć odpowiedniego klucza serwera ssl w globalnym systemie kluczy. Chcę to sprawdzić, przeglądając listę wszystkich dostępnych kluczy systemowych ssl w systemie Linux w Gentoo. Jak mogę uzyskać tę listę?

Jonas Stein
źródło

Odpowiedzi:

65

Nie chcesz kluczy SSL, to urzędy certyfikacji, a ściślej ich certyfikaty.

Możesz spróbować:

awk -v cmd='openssl x509 -noout -subject' '
    /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt

Aby uzyskać „podmiot” każdego certyfikatu urzędu certyfikacji w /etc/ssl/certs/ca-certificates.crt

Uwaga: czasami pojawia się ten błąd, gdy serwery SSL zapominają podać certyfikaty pośrednie.

Użyj, openssl s_client -showcerts -connect the-git-server:443aby uzyskać listę wysyłanych certyfikatów.

Stéphane Chazelas
źródło
2
//, To nie działa na CEntOS 6, ale dodałem odpowiedź na CEntOS 6 tutaj: unix.stackexchange.com/a/363309/48498
Nathan Basanese
1
Lista z trust listod pakietu p11-kit jest zasadniczo taka sama?
Pablo A
15

Nie jestem pewien co do Gentoo, ale większość dystrybucji umieszcza swoje certyfikaty w linkach systemowych pod adresem /etc/ssl/certs.

  • Kluczowe pliki wchodzą /etc/ssl/private
  • Rzeczywiste pliki dostarczone przez system znajdują się pod adresem /usr/share/ca-certificates
  • Wchodzą niestandardowe certyfikaty /usr/local/share/ca-certificates

Ilekroć umieścisz certyfikat w jednej z wyżej wymienionych ścieżek, uruchom update-ca-certificatesaktualizację /etc/ssl/certslist.

SHW
źródło
1
/etc/ssl/certsjest poprawnym folderem w Gentoo. Ale pliki nie są dobrze czytane dla ludzkich oczu.
Jonas Stein
3
Jest update-ca-certificatesz dodatkowym s(nie mogę tego samodzielnie edytować, ponieważ jest to edycja jednoznakowa).
Slaven Rezic
@SlavenRezic - Ktoś to naprawił.
Craig S. Anderson
3

Miałem obowiązek wymienić wszystkie certyfikaty na naszym serwerze i powiadomić, czy mają wygasnąć. Wymyśliliśmy to polecenie:

locate .pem | grep "\.pem$" | xargs -I{} openssl x509 -issuer -enddate -noout -in {}
Dwight Emmons
źródło