it-swarm.com.de

Listen Sie alle verfügbaren SSL-Zertifikate auf

Mein Git-Kunde behauptet

error: Peer's Certificate issuer is not recognized.

Das heißt, es kann den entsprechenden SSL-Serverschlüssel nicht im globalen Systemschlüsselring finden. Ich möchte dies überprüfen, indem ich mir die Liste aller systemweit verfügbaren SSL-Schlüssel auf einem Gentoo-Linux-System ansehe. Wie kann ich diese Liste bekommen?

39
Jonas Stein

Sie möchten keine SSL-Schlüssel, sondern Zertifizierungsstellen und genauer gesagt deren Zertifikate.

Du könntest es versuchen:

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

So erhalten Sie den "Betreff" jedes CA-Zertifikats in /etc/ssl/certs/ca-certificates.crt

Beachten Sie, dass manchmal dieser Fehler auftritt, wenn SSL-Server vergessen, die Zwischenzertifikate bereitzustellen.

Verwenden openssl s_client -showcerts -connect the-git-server:443, um die Liste der gesendeten Zertifikate abzurufen.

71

Ich bin mir bei Gentoo nicht sicher, aber die meisten Distributionen stellen ihre Zertifikate als Softlink an den systemweiten Speicherort unter /etc/ssl/certs.

  • Schlüsseldateien gehen in /etc/ssl/private
  • Vom System bereitgestellte aktuelle Dateien befinden sich unter /usr/share/ca-certificates
  • Benutzerdefinierte Zertifikate gehen in /usr/local/share/ca-certificates

Wenn Sie ein Zertifikat in einen der oben genannten Pfade einfügen, führen Sie update-ca-certificates Aus, um die /etc/ssl/certs - Listen zu aktualisieren.

17
SHW

Ich musste alle Zertifikate auf unserem Server auflisten und benachrichtigen, wenn sie ablaufen. Wir haben uns diesen Befehl ausgedacht:

locate .pem | grep "\.pem$" | xargs -I{} openssl x509 -issuer -enddate -noout -in {}
3
Dwight Emmons