Tags : https, tls
20 avril 2023
publié par 

Lorsqu'une application télécharge du contenu en HTTPS (appel API REST, webservice SOAP, récupération de pages ou images d'un serveur web…), les données qui transitent sont chiffrées. La "négociation" de la version de TLS utilisée est automatique comme décrit dans un billet précédent.

La version 28 apporte une nouveauté dans le domaine, en permettant de connaître la version de TLS qui a été négociée lors de la récupération d'un contenu.

Deux nouvelles propriétés du type httpRequête sont proposées : VersionSSLChoisie, et CipherChoisi.

 

Voici un exemple d'utilisation :

 

cMaRequête est un httpRequête
cMaRequête.URL = "https://pcsoft.fr"
cMaRéponse est un httpRéponse = HTTPEnvoie(cMaRequête)
SI ErreurDétectée ALORS
Erreur(ErreurInfo(errComplet))
SINON
Trace(cMaRéponse.CodeEtat)
SELON cMaRequête.VersionSSLChoisie
CAS ProtocoleTLS1 : Trace("TLS 1.0")
CAS ProtocoleTLS1_1 : Trace("TLS 1.1")
CAS ProtocoleTLS1_2 : Trace("TLS 1.2")
CAS ProtocoleTLS1_3 : Trace("TLS 1.3")
FIN
Trace("CIPHER "+cMaRequête.CipherChoisi)
FIN


En fonction du domaine métier et du niveau de sécurité attendu, on peut donc tester la version de TLS qui a été retenue, pour donner une information :

SI cMaRequête.VersionSSLChoisie DANS (ProtocoleTLS1_2, ProtocoleTLS1_3) ALORS
Trace("OK")
SINON
Trace("Oups, ce serveur n'est pas assez sûr, demandez sa mise à jour...")
FIN


Bon à savoir : lorsque des appels sont répétés vers une même adresse, il est possible que VersionSSLChoisie, ou CipherChoisi ne retournent pas toujours la même information :

  • Lorsque l'adresse donnée en URL est envoyée par la fonction RESTEnvoie ou HTTPEnvoie, si un seul serveur répond à l'adresse, la version de TLS et le cipher reste toujours le même (tant que la sécurité du serveur n'est pas touchée).
  • Par contre, si les infrastructures contactées sont importantes, il se peut que le domaine appelé dispose de plusieurs frontaux pour répartir la charge des demandes. Dans ce cas, même si l'url reste constante, il se peut que la version de TLS ou le cipher change, si tous les serveurs qui répondent n'ont pas strictement la même configuration de leur sécurité.

< Retour

Publier un commentaire : 
Votre adresse email ne sera pas publiée