Bonjour Alexandre Bernard, merci d'avoir publié dans la communauté Microsoft Q&A.
La raison principale de ce blocage est que les paramètres TLS configurés via les GPO ou le registre (sous HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols) s'appliquent à l'échelle de l'OS. Si le composant "Client" de TLS 1.0 est désactivé au niveau du système, la couche Secure Channel (Schannel) de Windows refusera catégoriquement de négocier ce protocole, quelle que soit l'application qui initie la requête. Étant donné que le serveur distant de l'API ne prend en charge que TLS 1.0, la négociation cryptographique ("Handshake") échoue immédiatement.
Pour adopter une approche progressive et sécurisée en attendant que votre fournisseur mette à jour son système, la méthode recommandée consiste à maintenir TLS 1.2 activé comme protocole par défaut, tout en réactivant temporairement TLS 1.0 pour le rôle Client et en activant l'audit. Windows a la capacité de toujours négocier la version la plus élevée disponible (TLS 1.2), et ne rétrogradera vers TLS 1.0 que pour cette API spécifique qui ne supporte rien d'autre.
Voici la démarche standard pour mettre en place cette transition :
Réactivez temporairement TLS 1.0 côté Client pour rétablir la communication avec l'API. Vous pouvez le faire de manière sécurisée en exécutant les commandes PowerShell suivantes (en tant qu'administrateur).
# Avertissement : Ce script modifie le registre pour réactiver le Client TLS 1.0.
# À utiliser de manière temporaire jusqu'à la mise à jour de l'API tierce.
$path = "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client"
if (!(Test-Path $path)) { New-Item -Path $path -Force | Out-Null }
Set-ItemProperty -Path $path -Name "Enabled" -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name "DisabledByDefault" -Value 0 -Type DWord
Ensuite, configurez l'audit Schannel pour surveiller l'utilisation de TLS. C'est l'étape cruciale de l'approche progressive. En activant cette journalisation, vous pourrez vérifier exactement quand l'API tierce aura cessé d'utiliser TLS 1.0 (une fois leur mise à jour déployée), ce qui vous permettra de le désactiver définitivement en toute confiance et sans causer de coupure.
# Activation de la journalisation Schannel (Niveau 7 - Enregistre les succès et les échecs)
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "EventLogging" -Value 7 -Type DWord
Une fois cette valeur définie, vous pourrez surveiller les journaux dans Observateur d'événements > Journaux Windows > Système, en filtrant sur la source Schannel (notamment les événements ID 36880 qui indiquent la version du protocole utilisé lors des sessions établies).
Si votre politique de sécurité interne interdit strictement la réactivation de TLS 1.0 au niveau du serveur, une solution de contournement avancée consiste à implémenter un proxy de transfert (Forward Proxy) ou une passerelle (Application Delivery Controller) entre votre serveur et l'API. Le serveur Windows utiliserait exclusivement TLS 1.2 pour communiquer avec le proxy, et ce dernier se chargerait de traduire la requête en TLS 1.0 pour l'API externe. Cela permet d'isoler totalement votre serveur Windows des protocoles obsolètes.
Pour plus d'informations sur la gestion de cette transition et l'audit TLS, je vous invite à consulter la documentation officielle de Microsoft : Résolution du problème TLS 1.0 : https://learn.microsoft.com/fr-fr/security/engineering/solving-tls1-problem Paramètres de Registre TLS : https://learn.microsoft.com/fr-fr/windows-server/security/tls/tls-registry-settings
Je ferai un suivi sur ce fil de discussion pour m'assurer que votre problème est résolu. Si cette réponse vous aide, n'hésitez pas à l'accepter en cliquant sur "Accepter la réponse". Cela profitera grandement aux autres membres de la communauté rencontrant le même défi.