Posso leggere il nome del dominio da HTTPS prima dell'handshake SSL?

11

Sto cercando se posso ospitare più domini su un server tramite HTTPS, ma per ogni dominio ho un certificato diverso.

In questo caso, avrei bisogno di conoscere il dominio della connessione in ingresso in modo tale che nella prima parte dell'handshake SSL, avrò le informazioni di cui ho bisogno per inviare il certificato corretto per quel dominio?

    
posta Dean Hiller 10.02.2016 - 04:02
fonte

3 risposte

25

Sì, a condizione che il server e i client supportino l'estensione Server-Name-Indication (o SNI). Questa estensione consente l'hosting virtuale per HTTPS, in cui sono presenti più domini e certificazioni indipendenti associati a un singolo indirizzo IP.

La maggior parte dei client in questi giorni supporta SNI. Il posto in cui potresti avere problemi è se hai client precedenti che utilizzano piattaforme come Windows XP, vecchie versioni di Android o Java 6.

    
risposta data 10.02.2016 - 04:08
fonte
9

Senza SNI, il dominio appare per la prima volta in chiaro nel server Hello dell'handshake TLS (nel campo rdnSequence del certificato).

Con SNI, il dominio appare per la prima volta in chiaro nel client Hello dell'handshake TLS (nel campo SNI).

Fonte: ho attivato apache2 con TLS e ho acquisito pacchetti catturati prima e dopo l'implementazione di SNI (host virtuali in apache2).

    
risposta data 10.02.2016 - 06:58
fonte
8

Oltre a SNI, c'è un'opzione per ottenere un certificato multi-dominio. Diversi fornitori di certificati offrono tali certificati (non approvando nessuno, Google è tuo amico).

Con un certificato multidominio, non è necessario conoscere il nome del dominio all'inizio dell'handshake, poiché il certificato è effettivamente valido per tutti i nomi di dominio elencati.

Ecco come un esempio di come appare questo certificato:

    
risposta data 10.02.2016 - 13:06
fonte

Leggi altre domande sui tag