【发布时间】:2015-01-04 12:02:53
【问题描述】:
我有 2 个服务需要来回通信。 Service1 是托管在 IIS 7.5 中的 WCF。 Service2 是托管在 Wildfly 中的 Java。这两种服务都需要客户端证书作为它们之间双向(相互)SSL 连接的一部分。两种服务使用的证书都是由同一个证书颁发机构生成的。
Service2 (Java) 能够毫无问题地调用 Service1 (WCF)。证书通过并且消息在它们之间正确流动。
Service1 (WCF) 无法调用 Service2 (Java)。在此交互中,WCF 服务记录状态:“...SecurityNegotiationException:无法为具有权限的 SSL/TLS 建立安全通道‘’。 ---> System.Net.WebException:请求被中止:无法创建 SSL/TLS 安全通道。”
查看此异常,它让我相信 Service1 (WCF) 没有将其客户端证书提供给 Service2 (Java)。我尝试通过向 Service1 的行为添加
为了证明我的理论,我有一个自托管的 WCF 服务(不在 IIS 中运行),它与 Service1(IIS 中的 WCF)在同一台机器上运行。使用相同的证书,我可以毫无问题地调用 Service2 (Java)。
有谁知道如何在 IIS 7.5 中配置 WCF 服务,以便在调用(向另一个服务)时提供客户端证书?
顺便说一句,我已经尝试为 Service1 (WCF) 的“服务器”和“客户端”端使用单独的证书。这并没有解决问题。
【问题讨论】: