Skip to content
MtrXTools

The request was aborted: Could not create SSL/TLS secure channel.

.NET Framework could not negotiate TLS

Seen in .NET Framework (WebException), Windows PowerShell 5.1, older Windows apps

The .NET Framework client and the server found no TLS version or cipher in common, usually because the client only offers TLS 1.0 or 1.1.

Common causes

  • An app targeting an old .NET Framework that defaults to TLS 1.0 while the server requires TLS 1.2 or 1.3.
  • Code that hard-codes ServicePointManager.SecurityProtocol to an old version.
  • An old Windows version without TLS 1.2 enabled or with outdated cipher suites.

How to fix it

  1. Target .NET Framework 4.7 or later and let the OS pick the TLS version.
  2. In older apps, add Tls12 to ServicePointManager.SecurityProtocol before making requests.
  3. In Windows PowerShell 5.1, run [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 first.
  4. Enable strong crypto for .NET (SchUseStrongCrypto registry value) and install Windows updates.
Check the TLS versions the server accepts

Got a different message? Paste it into the error explainer.

Related errors

All 32 Languages & runtimes errors