Javascript: Как проверить, включена ли конкретная версия TLS в браузере или нет?
Я хотел бы проверить, например, включен ли TLS 1.0/1.1/1.2 в браузере или нет. Как я могу проверить это с помощью Javascript?
2 ответа
Решение
Невозможно проверить возможности браузера в отношении TLS только из самого браузера. Вам нужно, по крайней мере, установить соединение https с каким-либо сервером, который затем передает вам информацию об успешном рукопожатии.
Как именно это можно сделать, зависит от сервера, но для apache вы получаете доступ к версии TLS из переменной среды SSL_PROTOCOL. Конечно, это обеспечивает только общую версию между клиентом и сервером, то есть если ваш сервер может использовать только TLSv1, а браузер может использовать TLSv1.2, общая версия будет только TLSv1.
Просто попробуйте это
<script>
window.parseTLSinfo = function(data) {
alert(
data.tls_version.split(' ')[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 + '.'
);
};
</script>
<script src="https://www.howsmyssl.com/a/check?callback=parseTLSinfo">