2010-01-18 07:43:44 +0000 2010-01-18 07:43:44 +0000
342
342

Wie speichere ich ein SSL-Zertifikat eines Remote-Servers lokal als Datei

Ich muss ein SSL-Zertifikat eines Remote-Servers herunterladen (nicht HTTPS, aber der SSL-Handshake sollte derselbe sein wie bei Google Chrome / IE / wget and curl all give certificate check fail errors) und das Zertifikat als vertrauenswürdig in den Zertifikatsspeicher von Windows auf meinen Laptops einfügen, da ich meine IT-Leute nicht dazu bringen kann, mir das CA-Zertifikat zu geben.

dies ist für die Bürokommunikation, so dass ich den eigentlichen Client nicht wirklich benutzen kann, um das Zertifikat zu erhalten.

Wie mache ich das, ich habe Windows 7 und einen Haufen Linuxes zur Hand, so dass jedes Tool / jede Skriptsprache in Ordnung ist.

Antworten (8)

333
333
333
2010-08-17 07:20:51 +0000

Wenn Sie Zugriff auf OpenSSL haben, versuchen Sie

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

und ersetzen Sie dabei {HOSTNAME} und {PORT} durch Ihre Werte.

264
264
264
2013-09-05 13:47:29 +0000

Eine schnelle Methode, um das Zertifikat zu erhalten und herunterzuladen, wäre die Ausführung des folgenden Befehls, der die Ausgabe von -showcerts an den Befehl x509 ssl weiterleitet, der einfach alles Überflüssige entfernt. Zum 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
128
128
128
2010-01-18 07:56:49 +0000

Um ehrlich zu sein, habe ich das noch nie versucht (es war auch nie nötig), aber ich habe es gerade in Firefox ausprobiert und es scheint beim Sparen zu funktionieren:

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

52
52
52
2016-12-26 18:45:38 +0000

Exportieren eines Zertifikats mit dem Chrome-Browser

  1. Herstellen einer Verbindung mit der Website über SSL https://whatever )

2. Klicken Sie auf das Schlosssymbol und dann auf Details

  1. Seit Chrome Version 56 gehen Sie wie folgt vor: Gehen Sie zum Drei-Punkte-Menü -> Weitere Werkzeuge -> Entwicklerwerkzeuge und klicken Sie dann auf die Registerkarte Sicherheit. Dadurch erhalten Sie eine Sicherheitsübersicht mit einer Schaltfläche Zertifikat anzeigen.

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

  3. So exportieren Sie ein Zertifikat:

20
20
20
2012-10-18 22:10:10 +0000

Dies ist gbroiles’ Antwort , aber ich wollte darauf hinweisen, dass das cURL-Projekt eine Seite mit einigen weiteren Details über die 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 / Return-Taste.

  • Das Zertifikat wird zwischen den Markierungen “ZERTIFIKAT ANFANG” und “ZERTIFIKAT ENDE” aufgeführt.

  • Wenn Sie die Daten im Zertifikat sehen möchten, können Sie

16
16
16
2018-01-25 15:59:26 +0000

automated

-servername war für mich erforderlich, 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 den Desktop konvertieren

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

Der letzte Teil ist, es zu Ihren Zertifikaten hinzuzufügen, nicht sicher auf Windows für den Mac Schlüsselbund, den ich benutzt habe, sollte ähnlich sein…

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

2
2
2
2017-05-23 01:20:39 +0000

Dadurch erhalten Sie 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}' "
0
0
0
2019-05-03 13:19:15 +0000

Ich habe unter Windows einen viel einfacheren Weg gefunden. Ich versuchte es mit Microsoft Edge (Pre-Chrom) und klickte auf das Schloss in der Adressleiste -> Im Dialogfeld “Zertifikat anzeigen” erscheint eine Schaltfläche “In Datei exportieren”, mit der es als .crt-Datei gespeichert wird.

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