So speichern Sie ein Remote-Server-SSL-Zertifikat lokal als Datei

Ich muss ein SSL-Zertifikat eines Remote-Servers herunterladen (nicht HTTPS, aber der SSL-Handshake sollte derselbe sein wie Google Chrome / IE / wget und curl geben alle Fehler bei der Zertifikatsprüfung aus) und fügen Sie das Zertifikat als vertrauenswürdig hinzu in meinem WINDOWS-Zertifikatspeicher, da ich meine IT-Leute nicht dazu bringen kann, mir das CA-Zertifikat zu geben.

Dies ist für die Bürokommunikation, daher kann ich den tatsächlichen Client nicht wirklich verwenden, um das Zertifikat abzurufen.

Wie mache ich das, ich habe Windows 7 und ein Haufen Linuxe praktisch, so dass jedes Werkzeug / Skriptsprache ist in Ordnung.

Author: Journeyman Geek, 2010-01-18

8 answers

Wenn Sie Zugriff auf OpenSSL haben, versuchen Sie es mit

openssl s_client -connect {HOSTNAME}:{PORT} -showcerts

Ersetzen Sie {HOSTNAME} und {PORT} durch Ihre Werte.

 370
Author: gbroiles,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-09-13 05:33:04

Eine schnelle Methode, um das Zertifikat abzurufen und herunterzuladen, besteht darin, den folgenden Befehl auszuführen, der die Ausgabe von-showcerts an den ssl-Befehl x509 weiterleitet, der nur alles Fremde entfernt. Beispiel:

openssl s_client -showcerts -connect server.edu:443 </dev/null 2>/dev/null|openssl x509 -outform PEM >mycertfile.pem

Um das Zertifikat zu verwenden, mit wget,

wget https:/server.edu:443/somepage --ca-certificate=mycertfile.pem
 308
Author: elec3647,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-09-14 10:20:33

Um ehrlich zu sein, habe ich das noch nie versucht (musste es nie), aber ich habe es gerade in Firefox versucht und es scheint zum Speichern zu funktionieren:

  1. Klicken Sie oben auf das Symbol SSL-Zertifikat / Vorhängeschloss unten.
  2. Klicken Sie auf View Certificate
  3. Klicken Sie auf die Registerkarte Details
  4. Wählen Sie aus der Hierarchie [nicht im Bild eingekreist]
  5. Klicken Sie auf Export

alt-text

 131
Author: William Hilsum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-05-11 09:40:12

Exportieren eines Zertifikats mit dem Chrome-Browser

  1. Verbindung zur Website über SSL herstellen (https://whatever)

2. Klicken Sie auf das Schlosssymbol und dann auf Details

  1. Seit Chrome Version 56 machen Sie Folgendes: gehen Sie zum Drei-Punkte-Menü - > Weitere Tools - > Entwicklertools und klicken Sie dann auf die Registerkarte Sicherheit. Dadurch erhalten Sie eine Sicherheitsübersicht mit einem View certificate Schaltfläche.

  2. Klicken Sie auf die Schaltfläche Zertifikat anzeigen.

    Ein modales Fenster wird geöffnet. Es hat zwei Scheiben. Die oberste zeigt die Vertrauenshierarchie des Zertifikats der Site (das letzte aufgelistete Zertifikat), der Zwischenzertifikate und des Stammzertifikats(das oberste Zertifikat).

    Der zweite, größere Bereich zeigt die Details eines der Zertifikate an.

    Es können Null oder mehr Zwischenzertifikate vorhanden sein.

    Beachten Sie, dass das Stammzertifikat eine gold umrandete Ikone. Die anderen haben einen blauen Rand.

    Siehe den Screenshot unten.

  3. Zum Exportieren eines Zertifikats:

    1. Klicken Sie zuerst auf das Symbol des Zertifikats in der Vertrauenshierarchie.
    2. Das Zertifikat wird im Hauptteil des Modals angezeigt.
    3. Klicken Sie auf das große Symbol des Zertifikats im Hauptteil des Modals. Ziehen Sie das Symbol auf Ihren Desktop. Chrome kopiert dann das Zertifikat auf Ihre Desktop.

geben Sie hier die Bildbeschreibung ein

 55
Author: Larry K,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-02-12 11:58:15

Dies ist die Antwort von gbroiles, aber ich wollte darauf hinweisen, dass das cURL-Projekt eine Seite mit einigen weiteren Details zur Verwendung von openssl zum Speichern des SSL-Zertifikats des Remote-Servers enthält:

  • openssl s_client -connect {HOSTNAME}:{PORT} | tee logfile
  • Geben Sie QUIT ein und drücken Sie die Eingabetaste.
  • Das Zertifikat wird zwischen den Markierungen "BEGIN CERTIFICATE" und "END CERTIFICATE" aufgelistet.
  • Wenn Sie die Daten im Zertifikat sehen möchten, können Sie Folgendes verwenden:

    openssl x509 -inform PEM -in certfile -text -out certdata

    Wobei certfile der Zertifikat extrahiert aus logfile. Blick in certdata.

 20
Author: Daniel Trebbien,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-03-20 10:16:54

Automatisiert

- servername wurde für mich benötigt, um das richtige Zertifikat vom virtuellen Host auf unserem Server zu erhalten.

openssl s_client -showcerts -connect host.name.com:443 -servername host.name.com </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > host.name.com.pem

Sie können auch in ein Zertifikat für Desktop konvertieren

openssl x509 -inform PEM -in host.name.com.pem -outform DER -out host.name.com.cer

Letzter Teil ist es, es zu Ihren Zertifikaten hinzuzufügen, nicht sicher unter Windows
für Mac Keychain ich verwendet, sollte ähnlich sein...

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain host.name.com.cer

 17
Author: Artistan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-01-25 15:59:26

Dies ergibt die Ergebnisse, die nur die Zertifikate enthalten

echo QUIT | \
openssl s_client -showcerts -connect hostname:port | \
awk '/-----BEGIN CERTIFICATE-----/ {p=1}; p; /-----END CERTIFICATE-----/ {p=0}'
 3
Author: Archimedes Trajano,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-10-30 02:47:23

Fand einen viel einfacheren Weg, wenn unter Windows. Versuchte Microsoft Edge (Pre-Chromium) und klickte auf die Sperre in der Adressleiste - > Zertifikat anzeigen Dialog erscheint mit einem "Export in Datei" - Taste, die es als speichert .crt-Datei.

Nicht viel, wofür ich Edge verwenden würde, aber das war ein Kinderspiel.

 0
Author: Dale Wilbanks,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-05-03 13:19:15