Existe-t-il un site Web accessible au public qui accepte uniquement les connexions TLS 1.2 afin que je puisse tester pour voir si mon application peut s'y connecter avec succès et en toute sécurité?
Contexte:
J'ai une ancienne application VB.NET exécutée sur Windows Server 2008 R2 (64 bits).
Il a un code comme celui-ci:
Dim req As New MSXML2.ServerXMLHTTP30
req.open("POST", "https://example.com", False)
D'après ce que j'ai l , ServerHTMLHTTP utilise SChannel et vous ne pouvez pas contrôler les protocoles utilisés au niveau de l'application.
Windows Server 2008 R2 devrait prendre en charge TLS 1.2 , donc je soupçonne que l'application fonctionnera, mais je voudrais vérifier en me connectant à un site qui n'accepte que TLS 1.2.
SSLLabs
Comme @schroeder l'a souligné dans les commentaires, ce site évalue les capacités du client et en rend compte dans la réponse:
https://www.ssllabs.com/ssltest/viewMyClient.html
Désavantages:
FancySSL
Comme @ paj28 l'a souligné dans les commentaires, ce site ne fonctionnera que si TLS 1.2 est disponible:
Désavantages:
Résultat
Malheureusement, notre application n'a pas fonctionné de manière transparente sur Windows 2008 R2. En essayant le site FancySSL, il a obtenu cette erreur:
La poignée est dans le mauvais état pour l'opération demandée
En essayant le site SSLLabs, il a obtenu ces résultats:
- TLS 1.2: Non
- TLS 1.1: Non
- TLS 1.0: Oui *
- SSL 3: Oui *
- SSL 2: Non
(*) Sans JavaScript, ce test ne détecte de manière fiable que le protocole pris en charge le plus élevé.
Lorsque nous exécutons la même application sur Windows 10 ou Windows Server 2012 R2, l'application ne rencontre pas l'erreur et SSLLabs signale TLS 1.2 comme disponible.
Une autre option que j'ai découverte:
Le site Web: https://badssl.com/ prend en charge différentes versions de TLS en utilisant différents sous-domaines, vous pouvez donc y tester de nombreuses variantes!
https://tls-v1-2.badssl.com:1012/
https://tls-v1-1.badssl.com:1011/
https://tls-v1-0.badssl.com:1010/
et plus. Et si ces domaines disparaissent pour une raison quelconque, la source est ici sur Github
@ paj28 semble nous avoir orientés dans la bonne direction:
openssl s_server -tls1_2
Vous pouvez lancer un serveur TLS émulé et vous y connecter depuis votre client. Je ne suis pas sûr des paramètres dont vous auriez besoin, ni de ce que la connexion vous dirait exactement, mais c'est une bonne ressource locale légère que vous pourriez utiliser pour vos besoins.