Zertifikat der Fritz!Box überprüfen (Fritz!Box-Dienste)

zomi

Neuer User
Mitglied seit
11 Nov 2006
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
[h=4]Internet --> Freigaben --> Fritz!Box-Dienste:

Zertifikat[/h] Um die Echtheit einer Gegenstelle sicherzustellen, können Sie ein sogenanntes SSL-Zertifikat verwenden. Die FRITZ!Box verfügt über ein solches Zertifikat, das Sie in Ihren Browser oder in Ihr Betriebssystem importieren können. Sie haben auch die Möglichkeit, ein eigenes Zertifikat zu verwenden.

[h=4]Status[/h] Die FRITZ!Box verwendet ein Zertifikat, das sie selbst erstellt hat.
SHA-1 Fingerprint des Zertifikats: 45:FE:FC:FE:2C:AF:F1:D9:86:BC:E4:1C:B0:AB:BD:6B:FE:DB:39:37


Wie überprüfe ich nun das Zertifikat, was man von der Box herunterladen kann?

Ich hab den SHA-1 Wert des Zertifikats erstellt und dieser stimmt nicht mit dem angegebenen Fingerprint des Zertifikats überein.
Habe auch den SHA-1 Wert des öffentlichen Schlüssels erstellt, passt auch nicht.



Kann mir bitte jemand erklären wie ich den vorgegebenen Fingerprint des Zertifikats prüfen kann?

Danke!
 
Der "fingerprint" ist die SHA1-Prüfsumme über den binären Inhalt (ASN.1) des Zertifikats.

Da das zum Download angebotene Zertifikat i.d.R. das PEM-Format nutzt, muß man es zuvor umwandeln (lassen). Das PEM-Format ist eine Base64-kodierte Darstellung des binären Inhalts, der als DER-Format bekannt ist. Beim PEM-Format wird der Base64-kodierte Inhalt durch die bekannten "-----BEGIN CERTIFICATE-----" und das passende Ende "umschlossen".

Man kann das also "low level" z.B. so umwandeln:
Code:
# [COLOR="#0000FF"]sed -e "1,/^-----BEGIN/d" -e "/^-----END/,\$d" [COLOR="#008000"]<pem_file>[/COLOR] | base64 -d >/tmp/cert1.der[/COLOR]
Alternativ kann man "openssl" dafür verwenden:
Code:
# [COLOR="#0000FF"]openssl x509 -in [COLOR="#008000"]<pem_file>[/COLOR] -outform der -out /tmp/cert2.der[/COLOR]
Das Ergebnis ist in beiden Fällen dasselbe (unter der Voraussetzung, daß die Eingabedatei "<pem_file>" nur ein einzelnes Zertifikat enthält ... ansonsten funktioniert das "sed"-Kommando natürlich in dieser simplen Form nicht richtig.
Code:
# [COLOR="#0000FF"]cmp -l /tmp/cert1.der /tmp/cert2.der[/COLOR]
Keine Ausgabe ist in diesem Falle "gut", dann gibt es keinen Unterschied.

Jedenfalls kann man jetzt den "fingerprint" einfach durch das Bilden der SHA1-Summe über diese binäre Datei ermitteln:
Code:
# [COLOR="#0000FF"]sha1sum /tmp/cert1.der[/COLOR]
[COLOR="#FF0000"]881d4ef875b88cc74c88bd8a1e3392de7e85aa72[/COLOR]  /tmp/cert1.der
Vergleicht man den jetzt mit dem "offiziell" ermittelten:
Code:
# [COLOR="#0000FF"]openssl x509 -in [COLOR="#008000"]<pem_file>[/COLOR] -fingerprint -noout[/COLOR]
SHA1 Fingerprint=[COLOR="#FF0000"]88:1D:4E:F8:75:B8:8C:C7:4C:88:BD:8A:1E:33:92:DE:7E:85:AA:72[/COLOR]
, stimmt der auch überein.

Will man das automatisieren, muß man sich ggf. noch um Groß-/Kleinschreibung bei Hexadezimal-Ziffern und um das Entfernen der Doppelpunkte als Trennzeichen kümmern ... alles auch bloß Einzeiler mit "sed" oder einem anderen geeigneten Programm.
 
Zuletzt bearbeitet:
Hallo PeterPawn,

vielen lieben Dank für den ausführlichen Post.
:D



:closed:
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.