|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Secure TcpClientChannel with errors on XP SP2are not joined to the same domain but constantly see the exception "The server has rejected the client credentials.". I have been able to get the same piece of code to work from XP SP2 --> W2K and W3K but cannot on XP Pro or Home both running SP2. Below is the configuration files for the Client and Server Server <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.runtime.remoting> <application> <service> <wellknown mode="SingleCall" type="LeastPrivilege.Demos.SecureRemoting.ImplementationClass, Server" objectUri="server.rem" /> </service> <channels> <channel ref="tcp" secure="true" port="8080" impersonate="true" protectionLevel="EncryptAndSign"/> </channels> </application> </system.runtime.remoting> </configuration> Client <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.runtime.remoting> <application> <channels> <channel ref="tcp" secure="true" tokenImpersonationLevel="impersonation" protectionLevel="EncryptAndSign" servicePrincipalName="" domain="XPMACHINE" username="RemoteUser" password="password" /> </channels> </application> </system.runtime.remoting> </configuration> I have created both the channels with ensureSecurity set to false but I am absolutely stumped by this error. Below is the Stack Dump System.Security.Authentication.InvalidCredentialException was unhandled Message="The server has rejected the client credentials." Source="mscorlib" StackTrace: Server stack trace: at System.Net.Security.NegoState.ProcessAuthentication(LazyAsyncResult lazyResult) at System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential, String targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel) at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.CreateAuthenticatedStream(Stream netStream, String machinePortAndSid) at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.CreateSocketHandler(Socket socket, SocketCache socketCache, String machinePortAndSid) at System.Runtime.Remoting.Channels.SocketCache.CreateSocketHandler(Socket socket, String machineAndPort) at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket(EndPoint ipEndPoint) at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket() at System.Runtime.Remoting.Channels.SocketCache.GetSocket(String machinePortAndSid, Boolean openNew) at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.SendRequestWithRetry(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream) at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream) at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg) Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at LeastPrivilege.Demos.SecureRemoting.ISharedInterface.HelloWorld(String input) at LeastPrivilege.Demos.SecureRemoting.ClientApp.Main() in C:\Documents and Settings\steven\Desktop\SecureRemoting\Client\Client.cs:line 53 at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args) at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() at System.Threading.ThreadHelper.ThreadStart_Context(Object state) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart() Any help would really be appreciated Steven |
|||||||||||||||||||||||