Speichern Sie das Remote-SSL-Zertifikat über die Linux-Befehlszeile


28

Können Sie sich eine Linux-Befehlszeilenmethode zum Speichern des von einem HTTPS-Server präsentierten Zertifikats vorstellen? Etwas in der Art von curl / wget / openssl stellt eine SSL-Verbindung her und speichert das Zertifikat und nicht den Inhalt der HTTP-Antwort.

Das GUI-Äquivalent zu dem, wonach ich suche, ist, zur HTTPS-Site zu navigieren, auf das Symbol "Sichere Site" des Browsers zu doppelklicken und das Zertifikat zu exportieren. Außer das Ziel ist es hier, es nicht interaktiv zu machen.

Danke, Jim

Antworten:


40

So etwas wie:

openssl s_client -servername remote.server.net -connect remote.server.net:443 </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >/path/to/certificate.pem

Das ist, was ich mit fetchmail benutze, um das Zertifikat eines SSL-fähigen IMAP- oder POP3-Servers abzurufen (außer natürlich, dass ich Port 443 nicht benutze).

(Beachten Sie, dass der -servernameParameter "redundant" erforderlich ist, um openssleine Anfrage mit SNI-Unterstützung zu stellen.)


1
Wie kann man die gesamte Kette erreichen?
Collin Anderson

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.