Wcf security NetTcpBinding-安全令牌请求包含无效或格式错误的元素

Wcf security NetTcpBinding-安全令牌请求包含无效或格式错误的元素,wcf-security,Wcf Security,我有一个WCF服务设置,其中web客户端使用channel factory与WCF服务进行通信。我将消息安全性用于身份验证和用户名客户端凭据类型。 我使用的绑定是“NetTcpBinding” 以下是我的配置的设置: 客户: 服务: 渠道工厂: 现在我已经在许多本地机器上运行了这个设置。 但是,当我在服务器上运行此安装程序时,会出现以下错误: 消息:安全令牌请求包含无效或格式错误的元素。 堆栈跟踪: 异常:System.ServiceModel.Security.SecurityNegot

我有一个WCF服务设置,其中web客户端使用channel factory与WCF服务进行通信。我将消息安全性用于身份验证和用户名客户端凭据类型。 我使用的绑定是“NetTcpBinding”

以下是我的配置的设置:

客户:

服务:

渠道工厂:

现在我已经在许多本地机器上运行了这个设置。 但是,当我在服务器上运行此安装程序时,会出现以下错误:

消息:安全令牌请求包含无效或格式错误的元素。 堆栈跟踪: 异常:System.ServiceModel.Security.SecurityNegotiationException 消息:无法打开安全通道,因为与远程终结点的安全协商失败。这可能是由于用于创建通道的EndpointAddress中缺少EndpointIdentity或未正确指定EndpointIdentity造成的。请验证EndpointAddress指定或暗示的EndpointIdentity是否正确标识远程端点。 HResult:-2146233087 来源:System.ServiceModel.Internals StackTrace:at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult结果) 位于System.ServiceModel.Channel.ServiceChannel.SendAsyncResult.End(SendAsyncResult) 位于System.ServiceModel.Channels.ServiceChannel.EndCall(字符串操作,对象[]输出,IAsyncResult结果) 在System.Threading.Tasks.TaskFactory的System.ServiceModel.Channels.ServiceChannelProxy.TaskCreator.c_u中显示System.Threading.Tasks.TaskFactory的Class7_0
1.FromAsyncCoreLogic(IAsyncResult iar,Func
2 endFunction,Action
1 endAction,Task
1 Promission,布尔要求同步)---在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中的System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()中的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务任务任务)中引发异常的上一个位置的堆栈结束跟踪---在C:\agent\\ U work\1\s\\1中的System。表示层\Controllers\AccountController.cs:第213行--在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()的System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中引发异常的上一个位置的堆栈结束跟踪在System.Web.Mvc.Async.TaskAsyncResult AsyncActionDescriptor.EndExecute(IAsyncResult asyncResult)在System.Web.Mvc.Async.AsyncControllerActionInvoker.c_u显示类8_0.b_u1(IAsyncResult asyncResult asyncResult)在System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult asyncResult)在System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.c_uuDisplayClass11_0.b_u0()在System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.c_uDisplayClass11_2.b_u2()在System.Web.Mvc.AsyncControllerActionInvoker.AsyncInvocationWithFilters.c_uDisplayClass11_2.b_u2()在System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvokwithFilters.c_uuDisplayClass11_2.b_u2()在System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvokwithFilters.c_uDisplayClass11_2.b_u2()在System.Web.Mvc.AsyncControllerActionInvoker.AsyncInvokwithFilters.c_uDisplayClass11_2.b_u2()中在System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)在System.Web.Mvc.Async.AsyncControllerActionInvoker.c_u显示类3_6.b_u4()在System.Web.Mvc.Async.AsyncControllerActionInvoker.c_u显示类3_1.b_u1(IAsyncResult asyncResult)数据系统.ServiceModel.Diagnostics.ExceptionUtility.ExceptionStackAsString:System.ServiceModel.Security.SspiNegotiationTokenProvider.GetNextToutGoingMessageBody(消息输入消息,SspiNegotiationTokenProviderState sspiState)在System.ServiceModel.Security.IssuanceTokenProviderBase中抛出(消息输入消息,T negotiationState)
位于System.ServiceModel.Security.IssuanceTokenProviderBase`1.Donegationation(TimeSpan超时)
抓住

内部异常: 异常:System.ServiceModel.FaultException 消息:安全令牌请求包含无效或格式错误的元素。 行动: 代码:System.ServiceModel.FaultCode 原因:安全令牌请求包含无效或格式错误的元素。 HResult:-2146233087 来源:System.ServiceModel StackTrace:at System.ServiceModel.Security.SecurityUtils.ThrowIfNegotiationFault(消息消息,端点地址目标) 位于System.ServiceModel.Security.SspiNegotiationTokenProvider.GetNextToutGoingMessageBody(消息输入消息,SspiNegotiationTokenProviderState sspiState)

我已经尝试过的事情:

  • 已将服务器的证书导入本地计算机。使用该证书在本地计算机上运行正常
  • 已在服务器中创建其他证书。它不适用于服务器中的任何证书
  • 在创建ChannelFactory时,我已经设置了“CertificateValidationMode=None”。因此,这看起来不像是证书问题。但是,我们不能完全排除这种可能性。 任何帮助都将不胜感激
  • 你可以看看: