Auflisten von Domänen in einem UCC / SAN-SSL-Zertifikat


15

Gibt es eine Möglichkeit, alle Domänen in einem SAN / UCC-SSL-Zertifikat aufzulisten (idealerweise über die Befehlszeile unter Linux / OS X)?

Natürlich muss es eine Möglichkeit geben, die Daten zu extrahieren, da Browser dies tun können. Leider sehe ich die Liste, kann sie aber nicht ausschneiden und einfügen.

Antworten:


25

openssl x509 -text < foo.crt sollte den Trick machen.


3
Für die Nachwelt ist dies der vollständige Befehl, den ich verwendet habe, da ich ihn für einen anderen Server ausgeführt habe:openssl s_client -showcerts -connect www.example.org:443 | openssl x509 -text
Jordan Reiter

3
Um eine durch Leerzeichen begrenzte Liste von Domains zu erhalten, können Sie diese durch grep und sed wie folgt übergebenopenssl x509 -text < $CRT | grep 'DNS:' | sed 's/\s*DNS:\([a-z0-9.\-]*\)[,\s]\?/\1 /g'
Geoffrey,

Bitte scrollen Sie nach unten: Die Antwort von panticz.de ist besser ;-)
lucaferrario

8

Mit diesem Befehl können Sie die Domains auflisten (unter Linux getestet):

cat cert.pem | openssl x509 -text | grep DNS

Dieser gibt eine bessere Ausgabe als die akzeptierte Antwort.
VaTo

Ja, dies sollte stattdessen die akzeptierte Antwort sein.
Kal

0

Wenn Sie wollen einfach nur sehen , die SANs, grep DNS:ist die offensichtliche Lösung.

Wenn Sie eine übersichtlichere Liste zur weiteren Verarbeitung haben möchten, können Sie mit diesem Perl-Regex nur die Namen extrahieren: @names=/\sDNS:([^\s,]+)/g

Beispielsweise:

true | openssl s_client -connect example.com:443 2>/dev/null \
| openssl x509 -noout -text \
| perl -l -0777 -ne '@names=/\bDNS:([^\s,]+)/g; print join("\n", sort @names);'

Welches würde dies ausgeben:

example.com
example.edu
example.net
example.org
www.example.com
www.example.edu
www.example.net
www.example.org

So könnte man das pfeifen while read name; do echo "processing $name ..."; doneusw.

Oder für eine durch Kommata getrennte Liste in einer Zeile, ersetzen join("\n",mitjoin(",",

(Mit dem -0777Schalter für Perl wird die gesamte Eingabe auf einmal anstatt zeilenweise gelesen.)

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.