Wenn Sie in Chrome auf das grüne HTTPS-Schlosssymbol klicken, wird ein Fenster mit den Zertifikatdetails geöffnet:
Als ich dasselbe mit cURL versuchte, bekam ich nur einige Informationen:
$ curl -vvI https://gnupg.org
* Rebuilt URL to: https://gnupg.org/
* Hostname was NOT found in DNS cache
* Trying 217.69.76.60...
* Connected to gnupg.org (217.69.76.60) port 443 (#0)
* TLS 1.2 connection using TLS_DHE_RSA_WITH_AES_128_CBC_SHA
* Server certificate: gnupg.org
* Server certificate: Gandi Standard SSL CA
* Server certificate: UTN-USERFirst-Hardware
> HEAD / HTTP/1.1
> User-Agent: curl/7.37.1
> Host: gnupg.org
> Accept: */*
Haben Sie eine Idee, wie Sie die vollständigen Zertifikatinformationen aus einem Befehlszeilentool (cURL oder einem anderen) abrufen können?
ssl
ssl-certificate
curl
Adam Matan
quelle
quelle
curl
Flag mit--verbose
zeigt den vollständigen Inhalt des Serverzertifikats an.Antworten:
Sie sollten in der Lage sein, OpenSSL für Ihre Zwecke zu verwenden:
Dieser Befehl stellt eine Verbindung zur gewünschten Website her und leitet das Zertifikat im PEM-Format an einen anderen openssl-Befehl weiter, der die Details liest und analysiert.
(Beachten Sie, dass der
-servername
Parameter "redundant" erforderlich ist, umopenssl
eine Anfrage mit SNI-Unterstützung zu stellen.)quelle
OpenSSL> openssl:Error: 'CONNECTED(00000003)' is an invalid command.
openssl
vsopenssl x509 -inform pem -noout -text
) ausgeführt wurde. Was Pedro schrieb, funktioniert gut für mich.echo
an sich ist äquivalent zuecho ''
.. es sendet eine leere Zeichenfolge an stdout.cat /dev/null |
würde auch funktionieren und ist etwas selbsterklärender.-text
mit-enddate
, überprüfen Sie für andere Optionen (openssl x509 help
).Einfache lösung
Das ist mein alltägliches Drehbuch:
Ausgabe:
quelle
Hängt davon ab, welche Art von Informationen Sie benötigen, aber:
sollten Sie am meisten geben, obwohl nicht so gut lesbar wie Chrome präsentiert.
quelle
Das
-p 443
gibt an, nur Port 443 zu scannen. Alle Ports werden gescannt, wenn sie weggelassen werden, und die Zertifikatdetails für jeden gefundenen SSL-Dienst werden angezeigt. Das--script ssl-cert
weist das Nmap-ssl-cert
Skriptmodul an, nur das Skript auszuführen . Über das Dokument wird mit diesem Skript "(R) das SSL-Zertifikat eines Servers abgerufen. Die Menge der über das Zertifikat gedruckten Informationen hängt von der Ausführlichkeitsstufe ab."Beispielausgabe:
quelle
Um nach SSL-Zertifikatdetails zu suchen, verwende ich das folgende Befehlszeilentool, seitdem es verfügbar ist:
https://github.com/azet/tls_tools
Es ist toll zu doppelt überprüfen Sie alle Informationen für Neuausstellung certs oder Validierung bestehender richtig haben, und auch so wenig Abhängigkeiten und es erfordert keine Einrichtung.
So sehen die ersten Zeilen der Ausgabe aus:
Dieser Ausgabe folgt die gesamte Zertifikatskette auf derselben Detailebene.
Was mir gefällt, anstatt ein ssl-zentriertes Cli-Tool wie openssls s_client zu sein, versucht dieses Tool nur den einen Job zu erledigen, den wir die meiste Zeit brauchen. Natürlich ist openssl flexibler (dh überprüft auch Client-Zertifikate, Imaps auf ungeraden Ports usw.) - aber das brauche ich nicht immer.
Alternativ, wenn Sie Zeit haben, sich in & setup zu vertiefen oder mehr Funktionen zu schätzen, gibt es das größere Tool mit dem Namen sslyze (es wird seit Abhängigkeiten und Installation nicht mehr verwendet ...)
quelle
Der Vollständigkeit halber: Wenn Sie Java 7 oder höher auf Ihrem System installiert haben
zeigt die Kette (wie bedient) mit fast allen Details in einem meist eher hässlichen Format.
Ob Sie Java auf Ihrem System installiert haben sollten, antworte ich nicht.
quelle
Ich benutze dafür ein Shell-Skript. Es ist nur ein Wrapper um den Befehl openssl, der mich davor bewahrt, mich an die Syntax zu erinnern.
Es bietet Optionen zum Parsen der meisten Zertifikatsinformationen, an denen ich normalerweise interessiert bin, oder zum Anzeigen der unformatierten OpenSSL-Ausgabe.
Kann entweder eine lokale Zertifikatsdatei oder einen Remote-Server abfragen.
Verwendungszweck:
Sie können das Skript hier herunterladen : http://giantdorks.org/alain/shell-script-to-check-ssl-certificate-info-like-expiration-date-and-subject/
quelle
Wenn Sie dies unter Windows tun möchten, können Sie PowerShell mit der folgenden Funktion verwenden:
Dies ermöglicht es Ihnen, einige nette Dinge wie zu tun
quelle
quelle
Wenn Sie nur das Ablaufdatum haben möchten (was nicht genau die Antwort ist, sondern 9/10, wofür die Nutzer die Chrome-Zertifizierungsdetails verwenden), können Sie Folgendes verwenden:
echo | openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -enddate
Nützlich für Skripte etc.
quelle