dotnet/runtime

NegotiateStreamPal.Unix.cs does not support default auth

Open

#66.633 geöffnet am 15. März 2022

Auf GitHub ansehen
 (4 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C# (5.445 Forks)batch import
area-System.Net.Securityenhancementhelp wanted

Repository-Metriken

Stars
 (17.886 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 12T 11h) (661 gemergte PRs in 30 T)

Beschreibung

Description

NegotiateStreamPal should support loading credential from NTLM_USER_FILE env var as per https://github.com/gssapi/gss-ntlmssp/blob/main/TESTING.txt

Delegating the credentials to gss-ntlmssp.

However, NegotiateStreamPal throws an exception before gss-ntlmssp has a chance to provide its own credentials.

Reproduction Steps

create an ntlm user file as per https://github.com/gssapi/gss-ntlmssp/blob/main/TESTING.txt Set NTLM_USER_FILE env var to point to said file. Then do an http get from an NTLM web server.

Expected behavior

HTTP 200

Actual behavior

System.PlatformNotSupportedException: NTLM authentication is not possible with default credentials on this platform.

Regression?

No response

Known Workarounds

Provide the credentials from dotnet. Which is a security risk that is advised against specifically.

Configuration

OS = Amazon Linux 2 Dotnet 3.1

Other information

No response

Contributor Guide