PowerShell: Invoke-RestMethod : The request was aborted: Could not create SSL/TLS secure channel.

Jak rozwiązać problem związany z Invoke-RestMethod? Jak usunąć błąd PowerShell związany z „The request was aborted: Could not create SSL/TLS secure channel.”?

Przy próbie pobranie zawartości zdalnej witryny z użyciem polecenia Invoke-RestMethod pojawił się poniższy komunikat błedu:

PS C:\Users\Administrator> Invoke-RestMethod firsttorun.sprawdzone.it > first.ps1
Invoke-RestMethod : The request was aborted: Could not create SSL/TLS secure channel.
At line:1 char:1
+ Invoke-RestMethod firsttorun.sprawdzone.it > first.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebExc
   eption
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

Problem spowodowany jest tym że domyślnie starsze wersje PowerShell używają TLS 1.0 do obsługi żadań HTTP(s), a witryna do której próbujemy uzyskać dostęp z użyciem polecenia PowerShell wymaga do obsługi żądań protokołu w wersji TLS 1.2.

Wystarczy, że w tej samej sesji konsoli wykonamy polecenie określające protokół zabezpieczeń używany przez PowerShell do nawiązywania połączeń sieciowych (definiując go w wersji 1.2):

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

Ustawienie TLS 1.2 jest szczególnie ważne, ponieważ starsze wersje TLS (np. TLS 1.0 i 1.1) są uznawane za mniej bezpieczne i mogą nie być wspierane przez wiele serwerów, szczególnie w przypadku zasobów dostępnych w internecie.


Jeżeli mój wpis Ci się spodobał, pomógł w pracy? Chcesz mnie wspierać? Postaw kawę! To dzięki waszemu wsparciu nie ma reklam! Poniżej kod QR do płatności który jest jednocześnie linkiem do PayPal możesz też wpłacić BLIK z użyciem Przelewy24.pl

Obrazek posiada pusty atrybut alt; plik o nazwie Kod-QR.png