【问题标题】:Consume WCF service over HTTPS/SSL from console application从控制台应用程序通过 HTTPS/SSL 使用 WCF 服务
【发布时间】:2012-07-20 03:48:01
【问题描述】:

我在配置为使用 SSL 的 IIS 下运行 WCF 服务,并且已安装并运行有效证书。 使用

访问网站
https://my_website/anypage.aspx 

我可以访问该页面。 访问网址

https://my_website/mywcfservice.svc 

我可以看到网络服务页面: “您已经创建了一项服务。要测试此服务,您需要创建一个客户端并使用它来调用服务(...)”。请注意,无论如何我都会收到警告页面,上面写着“此网站的安全证书存在问题”,我点击“继续访问此网站”。

在服务器端,web.config 配置为:

<security mode="Transport">
  <transport clientCredentialType="None" />
</security>

... ...

在客户端,我没有使用代理或配置文件。我只使用代码连接,例如:

this.Channel = new ChannelFactory<T>(binding, new EndpointAddress(serviceUri));
((WSHttpBinding)this.Channel.Endpoint.Binding).Security.Mode = SecurityMode.Transport;
((WSHttpBinding)this.Channel.Endpoint.Binding).Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
this.Channel.CreateChannel();

我有严格的规则通过代码从客户端连接,所以我不能使用其他方式。通道打开得很好,但是当我调用任何方法时,我收到错误“根据验证程序,远程证书无效。”

没有 https 工作正常。

在客户端,我在“受信任的根证书颁发机构\证书”中有许多证书。它们在服务器端也是受信任的。

问题可能出在客户端还是服务器端? 也许我需要指定一个非常精确的证书在客户端使用??

任何帮助感谢,谢谢。

【问题讨论】:

标签: wcf ssl


【解决方案1】:

请注意,我在点击“继续访问该网站”时仍会收到“此网站的安全证书存在问题”的警告页面。

您的客户端计算机不信任您在服务器上使用的 SSL 证书。您收到的 WCF 错误等同于您尝试在浏览器中点击服务时收到的消息。

在客户端,我在“受信任的根证书颁发机构\证书”中有许多证书。它们在服务器端也是受信任的。

您需要配置您的客户端计算机以正确信任您的 SSL 证书。一旦您可以在浏览器中无错误地访问该服务,您的客户端代码就应该可以工作了。

【讨论】:

    猜你喜欢
    • 2017-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多