Visualizza il certificato SSL di una pagina che reindirizza immediatamente a un'altra


25

Quindi ho cercato su Google un po 'per questo, ma sembra che il mio google-fu mi manchi - mi scuso se questa è una domanda banale e già risposta, non sono riuscito a trovare nulla al riguardo

Sto cercando di diagnosticare una mancata corrispondenza del nome host del certificato SSL. Quando visito l'URL in questione, mi reindirizza a un'altra pagina che ha il certificato SSL corretto. Tuttavia, alcuni client segnalano di ricevere un errore di mancata corrispondenza del nome host del certificato SSL. La mia unica ipotesi è che la pagina di reindirizzamento abbia il certificato errato e alcuni client lo stiano facendo scorrere perché si risolve con una nuova pagina che ha il certificato corretto.

(Il come e perché del problema non è proprio la domanda)

La domanda:

Dall'esterno in (aka, come client nel mondo) - come si potrebbe visualizzare il certificato che è stato consegnato da una pagina che reindirizza automaticamente a un'altra pagina?


Un'altra risorsa utile è il test del server SSL dai laboratori SSL di Qualy.
TRiG

Risposte:


35

Usa openssl s_client inoltrato a openssl x509 :

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

(Aggiungi -servername foo.example.comal comando s_client se il server utilizza SNI .)

Il reindirizzamento di stdin da / dev / null per la prima invocazione di openssl impedirà che si blocchi in attesa di input.


2
È inoltre possibile reindirizzare l'output per openssl x509 -texteffettivamente vedere cosa c'è in cert del server, e reindirizzare l'ingresso del primo opensslcomando /dev/nullin modo che il comando non appendere: openssl s_client -connect ... < /dev/null | openssl x509 -text. Cerca il campo "Nome alternativo soggetto X509v3".
Andrew Henle,

@AndrewHenle Ottima aggiunta. Sentiti libero di modificarlo nella mia risposta, se lo desideri.
SEE

Ha funzionato come un incantesimo - ho trascorso solo un periodo limitato di tempo con openSSL, ma ogni volta che ho bisogno di fare qualcosa di simile ssl si riduce sempre ad esso ahah ... Grazie per il suggerimento!
Robert Petz,

6
Se il server utilizza SNI, è necessario aggiungere -servername foo.example.comalle s_clientopzioni.
Bruno,

Non vedo la catena di fiducia nell'output. Se voglio vedere se un sito Web è considerato attendibile da VeriSign o LetsEncrypt o ChineseGov o DO_NOT_TRUST_FiddlerRoot, cosa devo cercare?
Carl Walsh,

7

In Firefox 57, se apri gli Strumenti per gli sviluppatori e vai alla scheda Rete:

  1. Assicurati che Persist Logssia selezionato
  2. Visita l'URL di interesse
  3. Fai clic sulla riga superiore (ovvero, quella corrispondente alla richiesta al server che ti interessa, che ha portato alla risposta di reindirizzamento)
  4. Fai clic sulla Securityscheda (a metà strada, sempre all'interno Network)

Ciò consentirà di visualizzare informazioni sul certificato quali nome comune dell'emittente, dettagli dell'emittente, periodo di validità e impronte digitali.

Questo ha funzionato per me su un sito rispondendo con un reindirizzamento 301 a un altro sito Web HTTPS. (Purtroppo la risposta accettata mi ha appena dato il certificato per la pagina di destinazione finale.)


Grazie per un metodo browser nativo. Hai provato l' -servernameopzione con openssl? Ciò può dare un risultato diverso, anche se è lo stesso nome.
mwfearnley,

@mwfearnley No! Con openssl, ho appena copiato e incollato la risposta e ho rinunciato dopo che non ha funzionato :) Grazie per il suggerimento.
mpavey,


1

In alternativa ai programmi separati menzionati in altre risposte, puoi anche disabilitare il reindirizzamento automatico nel tuo browser.

L'opzione per farlo varia in base al browser, ecco i metodi per Firefox e Chrome:


Non sei sicuro di chi ha effettuato il downgrade di questo?
Robert Petz,

Sì, questo è esattamente quello che volevo, una soluzione completamente nel browser.
Michael12345,

1
Questo non ha funzionato per me in Chrome. Riesco a vedere il 302 nella traccia di rete, ma non vedo come ispezionare il certificato dalle tracce di rete. Se faccio clic sulla scheda Sicurezza, Chrome invece mi mostra il certificato dalla pagina Web corrente (la destinazione di reindirizzamento).
Carl Walsh,

Il downvote è probabilmente dovuto al fatto che le risposte "solo link" tendono a marcire nel corso degli anni man mano che i prodotti cambiano. Forse questa risposta ha funzionato prima che Chrome introducesse la scheda Sicurezza?
Carl Walsh,

1
@jpa Il link fornito per Chrome sembra spiegare come conservare il registro di rete dopo che è stato effettuato un reindirizzamento, anziché come impedire a Chrome di seguire il reindirizzamento.
mpavey,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.