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">

Другие вопросы по тегам