Frage Zeigen Sie das SSL-Zertifikat einer Seite an, die sofort auf eine andere Seite umleitet


Also habe ich ziemlich viel gegoogelt, aber es scheint, dass mein Google-Fu mich enttäuscht - Entschuldigung, wenn das eine triviale und bereits beantwortete Frage ist, konnte ich nichts darüber finden

Ich versuche eine nicht übereinstimmende Übereinstimmung des Host-Namens des SSL-Zertifikats zu diagnostizieren. Wenn ich die fragliche URL besuche, leitet sie mich auf eine andere Seite weiter, die das korrekte SSL-Zertifikat besitzt. Einige Clients melden jedoch, dass sie einen Hostnamen-Nichtübereinstimmungsfehler des SSL-Zertifikats erhalten. Meine einzige Annahme ist, dass die Redirecting-Seite das falsche Zertifikat hat und einige Clients lassen es gleiten, weil es mit einer neuen Seite behebt, die das richtige Zertifikat hat.

(Das Wie und Warum des Problems ist nicht wirklich die Frage)

Die Frage:

Von außen in (auch als Client in der Welt) - wie würde man das Zertifikat anzeigen, das von einer Seite geliefert wurde, die automatisch auf eine andere Seite umleitet?


21
2018-06-22 21:54


Ursprung




Antworten:


Benutzen openssl s_client piped zu openssl x509:

$ openssl s_client -connect foo.example.com:443 < /dev/null | openssl x509 -text

(Hinzufügen -servername foo.example.com zum s_client Befehl, wenn der Server verwendet SNI.)

Die Umleitung von stdin von / dev / null für den ersten Aufruf von openssl hindert sie daran, auf Eingaben zu warten.


31
2018-06-22 21:55



Sie können die Ausgabe auch an Pipe übergeben openssl x509 -text um zu sehen, was in der Server-Cert ist, und die Eingabe der Initiale umzuleiten openssl Befehl von /dev/null Der Befehl hängt also nicht: openssl s_client -connect ... < /dev/null | openssl x509 -text. Suchen Sie nach dem Feld "Alternativer X509v3-Antragstellername". - Andrew Henle
@AndrewHenle Große Zugabe. Fühlen Sie sich frei, das in meine Antwort zu ändern, wenn Sie möchten. - EEAA
Arbeitete wie ein Zauber - ich habe nur eine begrenzte Zeit mit OpenSSL verbracht, aber jedes Mal, wenn ich etwas tun muss, was immer es ist, kocht es immer wieder haha ​​... Danke für den Tipp! - Robert Petz
@EEEAA - Danke. Die Antwort wurde bearbeitet. - Andrew Henle
Wenn der Server SNI verwendet, sollten Sie hinzufügen -servername foo.example.com zum s_client Optionen. - Bruno


Außerdem gibt es ein grafisches Werkzeug für Windows mit detaillierter Textverfolgung: SSL Zertifikatüberprüfungsprogramm und Werkzeugbeschreibung: Überprüfen der SSL-Zertifikate mit einem Tool und hier ist ein Beispiel für die Behandlung von Weiterleitungen:

enter image description here


5
2018-06-23 07:18



Nettes Werkzeug - danke für das Hinzufügen - Robert Petz


Wenn Sie in Firefox 57 die Entwicklertools öffnen und auf die Registerkarte Netzwerk gehen:

  1. Stelle sicher Persist Logs wird geprüft
  2. Besuchen Sie die URL von Interesse
  3. Klicken Sie auf die oberste Zeile (d. H. Diejenige, die der Anfrage an den Server entspricht, an dem Sie interessiert sind, was zu der Weiterleitungsantwort führte).
  4. Klicke auf das Security Tab (halb unten, noch innerhalb Network)

Auf diese Weise können Sie Zertifikatsinformationen anzeigen, z. B. den allgemeinen Namen, die Angaben zum Aussteller, den Gültigkeitszeitraum und die Fingerabdrücke.

Dies funktionierte für mich auf einer Website, die mit einer 301-Weiterleitung auf eine andere HTTPS-Website reagierte. (Leider ist die akzeptierte Antwort gab mir nur das Zertifikat für die endgültige Zielseite.)


3
2017-11-27 16:18



Danke für eine native Browser-Methode. Hast du das versucht? -servername Option mit openssl? Das kann zu einem anderen Ergebnis führen, auch wenn es sich um denselben Namen handelt. - mwfearnley
@mwfearnley Nein! Mit opensslIch habe nur kopiert und eingefügt von der Antwort und gab auf, nachdem es nicht funktioniert :) Danke für den Vorschlag. - mpavey


Alternativ zu den in anderen Antworten genannten separaten Programmen können Sie auch die automatische Umleitung in Ihrem Browser deaktivieren.

Die Möglichkeit, dies zu tun, variiert je nach Browser, hier sind Methoden für Firefox und Chrome:


2
2018-06-23 12:46



Nicht sicher, wer das abgelehnt hat? - Robert Petz
Ja genau das, was ich wollte, eine komplette In-Browser-Lösung. - Michael12345
Das hat in Chrome nicht funktioniert. Ich kann die 302 im Netzwerk verfolgen, aber ich sehe nicht, wie man das Zertifikat von den Netzwerkspuren untersucht. Wenn ich auf die Registerkarte "Sicherheit" klicke, zeigt Chrome stattdessen das Zertifikat der aktuellen Webseite an (das Umleitungsziel). - Carl Walsh
Der Downvote ist wahrscheinlich, weil "Link-only" Antworten im Laufe der Jahre zu verrotten neigen, wenn sich die Produkte ändern. Vielleicht hat diese Antwort funktioniert, bevor Chrome die Registerkarte Sicherheit eingeführt hat? - Carl Walsh
@CarlWalsh Hmm, wenn Sie die Umleitung deaktivieren, sollte das Zertifikat der aktuellen Webseite die Umleitungsseite sein (da es nicht automatisch in das Umleitungsziel wechselt). Und normalerweise werden Links innerhalb des Stack-Austausch-Netzwerks als gut angesehen, weil sie nicht so leicht verrotten. - jpa