2012-06-11 5 views
3

Existe-t-il un moyen de vérifier si un navigateur est compatible TLS?Détecter si le navigateur a TLS activé

Je suis limité à l'utilisation du HTML et du Javascript.

+2

Est-il suffisant pour tester si le navigateur prend en charge SSL ou TLS, ou voulez-vous tester TLS spécifiquement? Si vous voulez simplement tester le support HTTPS, j'envoie une requête Ajax pour une page via HTTPS. – apsillers

+0

@apsillers +, Nous voulons vérifier TLS. Si nécessaire, nous utiliserons une méthode similaire à celle-ci. –

+0

Je ne pense pas qu'un navigateur moins de 7-8 ans ne supporte pas TLS 1.0 au moins. Désactiver cela n'aurait pas de sens (mais pourrait se produire en effet). – Bruno

Répondre

2

En Javascript, en utilisant ActiveX, et destinés à IE7,

(function(){ 
var key = "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\SecureProtocols"; 
var t = document.getElementById("detectREG_output"); 
var Shell = new ActiveXObject("WScript.Shell"); 
var value = Shell.RegRead(key); 
t.innerHTML = value; 
})(); 

Ceci produit un champ de bits, avec décimales qui équivaut à:

168 = SSL 3.0, SSL 2.0, TLS 1.0 activé

160 = 3,0 SSL, TLS 1,0 Activé

40 = SSL 3.0, SSL 2.0 activé

8 = SSL 2.0 activé

0 = Aucun sont activés

MSDN on IE7 and HTTPS

+0

Y at-il des bibliothèques javascript là-bas qui pourraient le faire pour d'autres navigateurs? Notre hébergeur de site Web de ssl a désactivé TLS 1.0 et vers le bas. Nous devons informer les visiteurs du site pour mettre à jour leur navigateur d'une manière conviviale. Actuellement, ce qu'ils obtiennent est soit une page vierge ou un message d'erreur cryptique. – Aamir

1

La seule solution que je peux trouver est la configuration apache pour respecter un certain ordre de chiffrement:

SSLCipherSuite !aNULL:!eNULL:!EXPORT:!DSS:!DES:!SSLv2:RC4-SHA:RC4-MD5:ALL 
SSLHonorCipherOrder on 

par exemple. Et puis dans une page PHP (derrière un https) affiche $ _ENV ['SSL_PROTOCOL']. Enfin, utilisez le résultat dans JS.

+0

La sélection de la suite de chiffrement peut s'appliquer à SSLv3 et à TLS. Vous auriez besoin de quelque chose comme 'SSLProtocol -SSLv3 -SSLv2 + TLSv1'. – Bruno

Questions connexes