it-swarm.com.de

So speichern Sie ein SSL-Zertifikat eines Remoteservers lokal als Datei

Ich muss ein SSL-Zertifikat eines Remote-Servers herunterladen (nicht HTTPS, aber der SSL-Handshake sollte mit Google Chrome identisch sein/IE/wget und curl alle geben Fehler bei der Zertifikatsprüfung aus) und das Zertifikat als hinzufügen Ich vertraue auf den Windows-Zertifikatspeicher meines Laptops, da ich meine IT-Mitarbeiter nicht dazu bringen kann, mir das CA-Zertifikat zu geben.

dies ist für die Bürokommunikation, so dass ich den tatsächlichen Client nicht wirklich verwenden kann, um das Zertifikat zu erhalten.

Wie mache ich das? Ich habe Windows 7 und einen Haufen Linuxe zur Hand, so dass jede Tool-/Skriptsprache in Ordnung ist.

296
Kimvais

Wenn Sie Zugriff auf OpenSSL haben, versuchen Sie es

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

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

296
gbroiles

Eine schnelle Methode, um das Zertifikat abzurufen und herunterzuladen, besteht darin, den folgenden Befehl auszuführen, der die Ausgabe von den -showcerts an den x509 ssl-Befehl weiterleitet, der nur 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

So verwenden Sie das Zertifikat mit wget:

wget https:/server.edu:443/somepage --ca-certificate=mycertfile.pem
219
elec3647

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

  1. Klicken Sie oben auf das Symbol für das SSL-Zertifikat/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 [nicht im Bild eingekreist]
  5. Klicken Sie auf Export

alt text

121
William Hilsum

Exportieren eines Zertifikats mit dem Chrome-Browser

  1. Stellen Sie mit SSL eine Verbindung zur Website her ( 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 Menü Drei Punkte -> Weitere Tools -> Entwicklertools und klicken Sie auf die Registerkarte Sicherheit. Dies gibt Ihnen eine Sicherheitsübersicht mit einer Zertifikat anzeigen Schaltfläche.

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

    Ein modales Fenster wird geöffnet. Es hat zwei Scheiben. Das oberste zeigt die Vertrauenshierarchie des Zertifikats der Site (das zuletzt aufgeführte Zertifikat), des Zwischenzertifikats und des Stammzertifikats (das oberste Zertifikat).

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

    Es können null oder mehr Zwischenzertifikate vorhanden sein.

    Beachten Sie, dass das Stammzertifikat ein goldgerahmtes Symbol aufweist. Die anderen haben einen blauen Rand.

    Siehe den Screenshot unten.

  3. So exportieren Sie ein Zertifikat:

    1. Klicken Sie zuerst auf das Zertifikatssymbol 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 das Zertifikat dann auf Ihren Desktop.

 enter image description here

47
Larry K

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

  • 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" aufgeführt.
  • Wenn Sie die Daten im Zertifikat anzeigen möchten, können Sie Folgendes verwenden:

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

    dabei ist certfile das aus logfile extrahierte Zertifikat. Schau mal in certdata.

19
Daniel Trebbien

automatisiert

-servername war erforderlich, damit ich das richtige Zertifikat vom virtuellen Host auf unserem Server erhalten konnte.

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 das Hinzufügen zu Ihren Zertifikaten, nicht sicher unter Windows
für Mac-Schlüsselbund, den ich verwendet habe, sollte ähnlich sein ...

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

15
Artistan

Dies gibt 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}' "
1