Skip to main content

Problème

Lors de l’exécution d’un script PowerShell qui utilise Invoke-WebRequest, l’erreur suivante peut apparaître :
Invoke-WebRequest : The request was aborted: Could not create SSL/TLS secure channel.
Cela se produit parce que le script tente de se connecter à un serveur en utilisant des protocoles sécurisés (TLS/SSL), mais que les protocoles requis (comme TLS 1.2) ne sont pas activés sur le système.
Image

Solutions

Pour corriger rapidement ce problème dans la session en cours, vous pouvez activer les protocoles nécessaires en exécutant la commande suivante dans votre session PowerShell :
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls11 -bor ` [Net.SecurityProtocolType]::Tls12 -bor ` [Net.SecurityProtocolType]::Tls -bor ` [Net.SecurityProtocolType]::Ssl3
Toutefois, ce correctif est temporaire et doit être réappliqué dans chaque nouvelle session PowerShell.

Explication des clés de registre

Paramètre du registreDescription
SchUseStrongCryptoForce le .NET Framework à utiliser des protocoles cryptographiques forts (par exemple, TLS 1.2).
SystemDefaultTlsVersionsGarantit que les applications .NET utilisent la version TLS par défaut du système, leur permettant de s’adapter à des protocoles plus récents.

Si l’erreur persiste

Si l’erreur persiste, envisagez les actions suivantes pour assurer des connexions sécurisées à toutes les applications .NET sans intervention manuelle dans chaque session :
  • Assurez-vous que votre système prend en charge TLS 1.2 et qu’il est activé dans le système d’exploitation.
  • Mettez à niveau vers PowerShell Core ou PowerShell 7, qui utilisent par défaut des protocoles de sécurité modernes.