web-dev-qa-db-fra.com

Quel site Web accepte uniquement TLS 1.2 pour que je puisse vérifier la capacité du client?

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.

24
Riley Major

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:

  • La réponse est conçue pour la consommation humaine dans un navigateur. Il n'est pas clair si la réponse nécessite JavaScript pour donner une réponse valide. Cela ne semble pas nécessaire, car nous avons pu montrer des réponses différentes entre une machine Windows 10 exécutant l'application et un serveur Windows Server 2008 R2 exécutant l'application.
  • Le site n'autorise pas de POST; il nécessite un GET. Notre application peut être configurée dans les deux sens, mais certains ne le peuvent pas.
  • Le site ne nécessitera pas TLS 1.2 d'une manière qui émule le comportement des sites qui le font.

FancySSL

Comme @ paj28 l'a souligné dans les commentaires, ce site ne fonctionnera que si TLS 1.2 est disponible:

https://fancyssl.hboeck.de/

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:

https://www.howsmyssl.com/

15
Riley Major

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!

Ce sous-domaine et ce port ne prennent en charge que TLSv1.2

https://tls-v1-2.badssl.com:1012/

Ce sous-domaine et ce port ne prennent en charge que TLSv1.1

https://tls-v1-1.badssl.com:1011/

Ce sous-domaine et ce port ne prennent en charge que TLSv1.0

https://tls-v1-0.badssl.com:1010/

et plus. Et si ces domaines disparaissent pour une raison quelconque, la source est ici sur Github

18
Brad Parks

@ 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.

https://www.openssl.org/docs/manmaster/man1/s_server.html

6
schroeder