TLS 1.3 The client and server cannot communicate because they do not possess a common algorithm

3.1k views Asked by At

I can no longer download a publicly available file using c# WebClient.DownloadFile() or HttpClient.ReadAsStreamAsync(). I can manually download using Chrome or Firefox.

The website upgraded to TLS 1.3 and my program was previously working with TLS 1.2. The first error returned was "Can't establish SSL/TLS secure channel". TLS 1.3 was not a defined enum in .Net so I upgraded from .Net v4.78 to v4.80 to specify the TLS 1.3 protocol for ServicePointManager.SecurityProtocol and HttpHandler.SslProtocols (for HttpClient). That action got past the secure channel error and now I'm stuck at the common algorithm error.

Chrome shows the site uses TLS 1.3 and X25519, and AES_128_GCM. My understanding is X25519 is the key exchange and the algorithm is AES_128_GCM. I ran the PowerShell command "get-TlsCipherSuite" and it shows the Ciphers TLS_AES_256_GCM_SHA384 first followed by TLS_AES_128_GCM_SHA256. These are the only 2 ciphers for protocol 772 and are enabled by default in Windows 10 now. I believe this decimal number indicates TLS 1.3 (0x0304). The website is powered by Apache and the certificate shows algorithm SHA256RSA.

0

There are 0 answers