Invoke-WebRequest et Invoke-RestMethod échoue en SSL/TLS

Lors de l’exécution de la commande Invoke-WebRequest ou Invoke-RestMethod, vous pouvez rencontrer cette erreur :

The request was aborted: Could not create SSL/TLS secure channel.
At line:1 char:1
+ Invoke-WebRequest https://xxxxx …
>+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

Par défaut PowerShell utilise TLS 1.0 alors que le site en face est configuré en TLS 1.2. Pour indiquer à PowerShell d’utiliser TLS 1.2, il faut exécuter:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Note : Seule la session PowerShell actuelle (fenêtre PowerShell) sera en TLS 1.2, il faut donc exécuter cette commande à chaque ouverture de fenêtre PowerShell ou bien la mettre dans votre profil PowerShell.

Si vous savez comment activer TLS1.2 pour PoerShell sur l’ensemble du système, merci de l’indiquer en commentaire.

Leave a Reply

4 × 1 =

Close Menu