【发布时间】:2017-11-02 21:19:26
【问题描述】:
这是我第一次创建 WCF 服务。我需要使用 HTTPS,因为我将使用 MembershipBinding。到目前为止,我采取的步骤是:
- 使用 makecert.exe 应用程序创建了一个证书颁发机构 - 我由此创建了一个服务器证书和一个客户端证书。
- 将证书颁发机构添加到 Microsoft 管理控制台中的受信任的根证书颁发机构。
- 将客户端和服务器证书添加到我在 Microsoft 管理控制台中的个人证书中。
- 使用服务器证书在 IIS 中为服务创建了 https 绑定。
- 在服务器证书上为应用程序池设置适当的权限。
- 在 web.config 的 serviceBehaviours 节点中定义了服务证书。
我现在正在使用 WCF 测试客户端测试服务,但我收到了以下消息:
错误:无法从https://localhost:444/Service.svc 获取元数据如果这是您有权访问的 Windows (R) Communication Foundation 服务,请检查您是否已在指定地址启用元数据发布。有关启用元数据发布的帮助,请参阅位于 http://go.microsoft.com/fwlink/?LinkId=65455.WS-Metadata Exchange 错误 URI:https://localhost:444/Service.svc 元数据包含无法解析的引用的 MSDN 文档:“https://localhost:444/Service.svc”。无法为具有权限“localhost:444”的 SSL/TLS 安全通道建立信任关系。基础连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。根据验证程序,远程证书无效。HTTP GET 错误 URI:https://localhost:444/Service.svc 下载“https://localhost:444/Service.svc”时出错。基础连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。根据验证程序,远程证书无效。
该错误表明信任证书存在问题,但我信任用于创建它的证书颁发机构,所以我不知道如何解决它。当我使用 http 时,该服务运行良好。
提前致谢。
【问题讨论】:
标签: web-services wcf iis https ssl-certificate