Server che fornisce due diversi certificati SSL

1

Quando controllo il browser per un sito example.com , vedo che il sito ha un certificato valido, non scaduto, con validità fino alla fine di il 2016.

Allo stesso tempo, quando eseguo la scansione dello stesso dominio sulla porta 443 utilizzando uno script Python che ho sviluppato, ottengo il certificato example.com come scaduto e diverso dal certificato non scaduto.

Perché i domini servono due certificati diversi?

    
posta Arun 29.01.2016 - 08:33
fonte

1 risposta

9

La mia ipotesi è che questo sito stia utilizzando Server Name Indication (SNI) . In questo caso i certificati serviti dipendono dal nome host specificato nell'estensione SNI e spesso differiscono se non viene utilizzata l'estensione SNI. Cioè sarà un certificato predefinito completamente diverso o sarà un vecchio certificato perché ha sostituito solo il certificato utilizzato per SNI durante il rinnovo del certificato.

I browser moderni utilizzano SNI da anni, mentre all'esterno dei browser il supporto è misto. Il supporto per SNI è stato aggiunto a Python con la versione 2.7.9 in 12/2014. Potrebbe essere che tu stia utilizzando una versione precedente di Python o che tu stia utilizzando un accesso di livello inferiore alla connessione SSL dove devi impostare esplicitamente l'estensione SNI da solo.

In teoria si potevano anche inviare certificati diversi a seconda delle capacità del client, cioè i certificati firmati con SHA-256 per un client TLS 1.2 ma un certificato SHA-1 per un client TLS 1.0. In pratica, la maggior parte degli stack TLS non offre questo tipo di comportamento o ne rende difficile l'utilizzo, pertanto i server non implementano tale funzionalità. Quindi immagino che il tuo problema sia legato a SNI.

    
risposta data 29.01.2016 - 08:54
fonte

Leggi altre domande sui tag