Обнаружение совместимости TLS браузера
У нас есть сайт SSL, на котором хост недавно отключил старые SSL-протоколы, такие как TLS 1.0 и ниже. В зависимости от браузера посетитель сайта получает пустую страницу или загадочное сообщение об ошибке при посещении сайта, если браузер, который они используют, не поддерживает, по крайней мере, TLS 1.1.
Я надеялся создать целевую страницу, которая не находится на порту SSL, и где я могу обнаружить возможности браузера, если он поддерживает TLS 1.1 и выше. Если это не так, я хочу показать им дружеское сообщение, чтобы обновить браузер или использовать другой браузер.
Это что-то, что можно сделать, используя библиотеку javascript на стороне клиента? Если да, то что я должен использовать.
Спасибо.
Ответы
Ответ 1
Вы можете использовать API, предоставленный Как мой SSL?.
В следующем примере я проверяю tls_version
. Проверка given_cipher_suites
также может быть хорошей идеей.
<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>
Ответ 2
Есть как минимум два веб-сайта, которые будут проверять возможности браузера для вас, включая SSL Labs (https://www.ssllabs.com/ssltest/viewMyClient.html) и HowsMySSL (https://www.howsmyssl.com/). HowsMySSL также имеет хороший API, который можно легко проверить из JavaScript.