Split from #25827
As of .NET Core 2.1, the default HTTP stack is based on SocketsHttpHandler. SocketsHttpHandler uses the GSSAPI for handling the HTTP AUTH scheme of 'NTLM' when all the required GSSAPI packages are installed including 'gss-ntlmssp' (which directly supports NTLM authentication). See related issue #28530.
Currently when HttpClient tries to authenticate to a server over TLS (HTTPS) that provides a single 'Www-Authenticate: NTLM' scheme, it throw an exception similar to this:
Unhandled Exception: System.PlatformNotSupportedException: No support for channel binding on operating systems other than Windows.
at System.Net.Security.NegotiateStreamPal.InitializeSecurityContext(SafeFreeCredentials credentialsHandle, SafeDeleteContext& securityContext, String spn, ContextFlagsPal requestedContextFlags, SecurityBuffer[] inSecurityBufferArray, SecurityBuffer outSecurityBuffer, ContextFlagsPal& contextFlags)
This issue will address ways of removing that exception and providing the proper client-side channel binding support.
Split from #25827
As of .NET Core 2.1, the default HTTP stack is based on SocketsHttpHandler. SocketsHttpHandler uses the GSSAPI for handling the HTTP AUTH scheme of 'NTLM' when all the required GSSAPI packages are installed including 'gss-ntlmssp' (which directly supports NTLM authentication). See related issue #28530.
Currently when HttpClient tries to authenticate to a server over TLS (HTTPS) that provides a single 'Www-Authenticate: NTLM' scheme, it throw an exception similar to this:
This issue will address ways of removing that exception and providing the proper client-side channel binding support.