-
-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NTLM 401 on HTTPS IIS endpoints #3280
Comments
Please amend this with more information as to what the issue actually is. |
Sorry for the delay. Just amended the information. |
These windows builds are built with SSPI enabled, meaning they use native windows function calls for the NTLM magic. That makes this a very windows-specific issue and requires someone to debug this on windows. It would be interesting to learn if someone would try this with a windows-build without SSPI and see if that makes it work. NTLM debugging is challenging... |
I've just tried with curl 7.59 without the SSPI and everything work as expected. Looks like something is failing only when the SSPI is used
|
After looking deeper to the problem I can see why curl with the SSPI is failing. The problem is the Windows Extended Protection (aka channel binding). A solution would be to:
Example implementations: I would be to patch and test it with some guidance from someone more experienced with libcurl. |
Windos extended potection (aka ssl channel binding) is required to login to ntlm IIS endpoint, otherwise the server return 401 responses. [Fixes: curl#3280]
NTLM fails consistently on Windows when targeting https endpoint that are WIA protected. This only happens when "Extended Protection" is set to Accept or Require in the IIS server (Accept is the default). The same endpoint work correct when plain http is in use.
I did this
curl.exe -v -k --ntlm -u user:Password https://my.dc.local/adfs/ls/wia/
I expected the following
A 200 response from the server. Again everything works fine with plain HTTP
curl/libcurl version
I have tried curl 7.62, 7.55.1 and 7.57.
[curl -V output]
operating system
Failing behaviour is consistent on Windows 7,8,10.
macOS and Linux work fine.
The text was updated successfully, but these errors were encountered: