2015-06-23 23 views
17

Abbiamo un sito Web SSL in cui l'host ha recentemente disabilitato i precedenti protocolli SSL come TLS 1.0 e versioni precedenti. A seconda del browser, il visitatore del sito riceve una pagina vuota o un messaggio di errore criptico quando visita il sito se il browser che sta utilizzando non supporta almeno TLS 1.1.Rileva browser Compatibilità TLS

Speravo di creare una pagina di destinazione non presente sulla porta SSL e in cui è possibile rilevare la funzionalità del browser se supporta TLS 1.1 e versioni successive. In caso contrario, desidero mostrare loro un messaggio amichevole per aggiornare il browser o utilizzare un browser diverso.

È qualcosa che può essere realizzato utilizzando la libreria javascript lato client? Se è così, allora cosa dovrei usare.

Grazie.

+0

Non penso che tu possa rilevarlo direttamente con JS, ma puoi provare a usare ajax su pagine diverse sul tuo server che usano i diversi protocolli. – Oriol

+0

Quindi, come informa i vecchi utenti del browser che il loro browser non è più supportato dal sito? – Aamir

+0

Questo è facile: basta inserire un po 'di html nel documento, o produrre un po' di avviso, o qualcosa del genere. La parte difficile è la rilevazione del supporto TLS. – Oriol

risposta

25

È possibile utilizzare the API fornito da How's my SSL?.

Nell'esempio seguente, controllo lo tls_version. Il controllo given_cipher_suites potrebbe anche essere una buona idea.

<script> 
 
window.parseTLSinfo = function(data) { 
 
    var version = data.tls_version.split(' '); 
 
    console.log(
 
    version[0] != 'TLS' || version[1] < 1.2 
 
    ? 'So bad! Your browser only supports ' + data.tls_version + '. Please upgrade to a browser with TLS 1.2 support.' 
 
    : 'All OK. Your browser supports ' + data.tls_version + '.' 
 
); 
 
    console.log(data); 
 
}; 
 
</script> 
 
<script src="https://www.howsmyssl.com/a/check?callback=parseTLSinfo"></script>

+1

Esattamente la cosa che stavo cercando! Grazie mille! – Aamir

+0

Una cosa triste è che non è una libreria js che posso scaricare localmente. Non so per quanto tempo mantiene le API disponibili per noi. – Aamir

+0

@Aamir "How's My SSL" è un software Open Source e può essere trovato su [GitHub] (https://github.com/jmhodges/howsmyssl). – Oriol