System.ServiceModel.Security.SecurityNegotiationException
HResult=0x80131501
Message=SOAP security negotiation with 'net.tcp://10.0.10.25:7612/Share/Library' for target 'net.tcp://10.0.10.25:7612/Share/Library' failed. See inner exception for more details.
Source=mscorlib
StackTrace:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at cYo.Projects.ComicRack.Engine.IO.Network.IRemoteComicLibrary.get_IsValid()
at cYo.Projects.ComicRack.Engine.IO.Network.ComicLibraryClient.Connect() in ComicLibraryClient.cs:line 81
This exception was originally thrown at this call stack:
[External Code]
Inner Exception 1:
Win32Exception: The token supplied to the function is invalid
{System.ServiceModel.Security.SecurityNegotiationException: SOAP security negotiation with 'net.tcp://10.0.10.25:7612/Share/Library' for target 'net.tcp://10.0.10.25:7612/Share/Library' failed. See inner exception for more details. ---> System.ComponentModel.Win32Exception: The token supplied to the function is invalid
at System.ServiceModel.Security.TlsSspiNegotiation.GetOutgoingBlob(Byte[] incomingBlob, ChannelBinding channelbinding, ExtendedProtectionPolicy protectionPolicy)
at System.ServiceModel.Security.SspiNegotiationTokenProvider.GetNextOutgoingMessageBody(Message incomingMessage, SspiNegotiationTokenProviderState sspiState)
at System.ServiceModel.Security.IssuanceTokenProviderBase`1.GetNextOutgoingMessage(Message incomingMessage, T negotiationState)
at System.ServiceModel.Security.IssuanceTokenProviderBase`1.DoNegotiation(TimeSpan timeout)
--- End of inner exception stack trace ---
at System.ServiceModel.Security.IssuanceTokenProviderBase`1.DoNegotiation(TimeSpan timeout)
at System.ServiceModel.Security.SspiNegotiationTokenProvider.OnOpen(TimeSpan timeout)
at System.ServiceModel.Security.TlsnegoTokenProvider.OnOpen(TimeSpan timeout)
at System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Security.CommunicationObjectSecurityTokenProvider.Open(TimeSpan timeout)
at System.ServiceModel.Security.SecurityUtils.OpenCommunicationObject(ICommunicationObject obj, TimeSpan timeout)
at System.ServiceModel.Security.SecurityUtils.OpenTokenProviderIfRequired(SecurityTokenProvider tokenProvider, TimeSpan timeout)
at System.ServiceModel.Security.SymmetricSecurityProtocol.OnOpen(TimeSpan timeout)
at System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Security.SecurityProtocol.Open(TimeSpan timeout)
at System.ServiceModel.Channels.SecurityChannelFactory`1.ClientSecurityChannel`1.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.DoOperation(SecuritySessionOperation operation, EndpointAddress target, Uri via, SecurityToken currentToken, TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.GetTokenCore(TimeSpan timeout)
at System.IdentityModel.Selectors.SecurityTokenProvider.GetToken(TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionClientSettings`1.ClientSecuritySessionChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call(ServiceChannel channel, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan timeout, CallOnceManager cascade)
at System.ServiceModel.Channels.ServiceChannel.EnsureOpened(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)}
Can be bypassed by setting the CreateChannel(secure: false) for the Library endpoint, but that disables Passwords.
Something to do with the certificate. Either it's too old and the algo isn't supported anymore or it's encrypted via a private key. Maybe try to generate a new Certificate and have both Certificate in the new version. 1 for compatibility with the OG, another for the CE.
It seems to work when connecting to OG.
OG can connect to OG CE can connect to OG CE cannot connect to CE OG cannot connect to CE,
It crashes https://github.com/maforget/ComicRackCE/blob/358d37defe33ef6feb853ea24e0e85f03f2c69bd/ComicRack.Engine/IO/Network/ComicLibraryClient.cs#L81
Can be bypassed by setting the
CreateChannel(secure: false)
for the Library endpoint, but that disables Passwords.Something to do with the certificate. Either it's too old and the algo isn't supported anymore or it's encrypted via a private key. Maybe try to generate a new Certificate and have both Certificate in the new version. 1 for compatibility with the OG, another for the CE.