我有一个在 IIS 下运行的 WCF 服务,配置为使用 SSL,并且已安装并运行有效证书。访问网站
https://my_website/anypage.aspx
我可以访问该页面。访问网址
https://my_website/mywcfservice.svc
我可以看到 web 服务页面:“你已经创建了一个服务。要测试这个服务,你需要创建一个客户端并使用它来调用服务(...)”。请注意,无论如何我都会收到警告页面,上面写着“此网站的安全证书存在问题”,我单击“继续访问此网站”。
在服务器端,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 工作正常。
在客户端,我在“受信任的根证书颁发机构\证书”中有许多证书。它们都在服务器端受到信任。
问题可能出在哪里,在客户端或服务器端?也许我需要指定一个非常精确的证书在客户端使用??
任何帮助感谢,谢谢。