Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 其他pc上的wcf ssl客户端_C#_Wcf - Fatal编程技术网

C# 其他pc上的wcf ssl客户端

C# 其他pc上的wcf ssl客户端,c#,wcf,C#,Wcf,我在服务器PC上用WCF构建了一个webservice。我创建了一个https端点并配置了一些本地证书。现在在网络上,我试图创建一个C#控制台客户端来测试服务。但我收到了这个错误: 未处理的异常:System.ServiceModel.Security.SecurityNegotiationException: 服务未对调用方进行身份验证。-->System.ServiceModel.FaultE 异常:无法满足对安全令牌的请求,因为authenti 阳离子失败(还有更多) 下面是我要连接到的端

我在服务器PC上用WCF构建了一个webservice。我创建了一个https端点并配置了一些本地证书。现在在网络上,我试图创建一个C#控制台客户端来测试服务。但我收到了这个错误: 未处理的异常:System.ServiceModel.Security.SecurityNegotiationException: 服务未对调用方进行身份验证。-->System.ServiceModel.FaultE 异常:无法满足对安全令牌的请求,因为authenti 阳离子失败(还有更多)

下面是我要连接到的端点的代码:

这将是我的客户:



我无法摆脱此错误,有人能帮我吗?

您可能需要在客户端单元中安装/导入证书


stackoverflow.com 我有一个通过MakeCert生成的证书。我想使用PeerTrust将此证书用于WCF消息安全性。如何使用c#或.NET以编程方式将证书安装到“受信任的人”本地计算机证书存储中



stackoverflow.com 我正在编写一个windows服务,它需要证书存储中的多个证书才能连接到第三方web服务


使用证书保护服务


msdn.microsoft.com

使用X.509证书来确保服务是Windows通信基础(WCF)中使用的大多数绑定的基本技术。本主题将介绍使用X.509证书配置自托管服务的步骤


在打开代理之前,请尝试设置模拟级别:

serviceProxy.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
serviceProxy.Open();

无法工作,在我已更改为的客户端配置上,然后出现以下错误..:未处理的异常:System.ServiceModel.FaultException:无法处理消息。这很可能是操作“不正确”,或者是因为消息包含无效或过期的安全上下文令牌,或者是因为绑定之间不匹配。如果服务因不活动而中止通道,则安全上下文令牌将无效。为了防止服务。。。等等。根据文档,HttpClientCredentialType在TransportWithMessageCredential模式下被忽略。首先尝试使用更简单的方法,例如使用ClientCredentialType=“Basic”wcf进行传输安全,但不提供用户名。在ClientCredentials中指定用户名当然您必须提供用户并通过
serviceProxy.ClientCredentials.username
传递,然后才能打开代理并在您的服务行为中实现自定义
UserNamePasswordValidator
。您坚持使用Windows凭据类型吗?否则,我可以向您展示如何使用User/Pass进行身份验证。
serviceProxy.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
serviceProxy.Open();