SSPI/NTLM between native code and managed code fails for Windows 2
- From: jenny <jenny@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 24 Nov 2008 20:37:00 -0800
I have an appliction that uses C++/CLI code for the client side of an NTLM
exchange, and native C++ code for the server side.
The server and client code run on different machines and use TCP/IP to throw
the "token" back and forth until authentication occurs.
This works with no problems under Windows 2003. And has worked for about a
year for us with no problems. However, under Windows 2008, the authentication
has stopped working *only* when C++/CLI code is interacting with native code.
Doesn't matter which machine is the target or which machine is the client.
The error code I am getting back from the server is: 0x80090308 (The token
supplied to the function is invalid). Also, AcceptSecurityContext(...)
returns: ASC_RET_THIRD_LEG_FAILED in the contextattributes.
The strange thing is, NTLM authentication still works if both the apps are
native (i.e. pure C++).
Actually, the be more accurate: a C# app calls into a C++/CLI native wrapper
library, that performs the NTLM authentication. The C# app is an MMC app.
NTLM
C# --> C++/CLI <------> Native C++ (Does not work)
NTLM
native C++ <-------> native C++ (works)
Under Windows 2003, there has never been a problem for over a year.
Question:
Can anyone think of a reason why this could be? I am totally mystified. Is
there anyway to emit more information about why the authentication failed.
Could managed code cause this kind of problem?
Thanks,
Jenny.
--
C/C++ Software Engineer
.
- Follow-Ups:
- Prev by Date: Re: Delete File - Bypass NTFS?
- Next by Date: RE: Compatibility between CryptSignHash and PKCS#7
- Previous by thread: Adding a publisher to the trusted publishers w/o UI
- Next by thread: Re: SSPI/NTLM between native code and managed code fails for Windows 2
- Index(es):
Relevant Pages
|