2

我开发了一个 WPF 应用程序,它与一组位于同一域下的自托管 WCF 服务进行通信,并且我在配置文件中使用了以下设置。

<security mode="Transport">
        <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
        <message clientCredentialType="Windows" />
      </security>

我将服务托管在不同域的服务器上。我可以通过将安全模式设置为“无”来实现通信,这并不理想。

是否有任何其他设置可以用于跨域通信,或者我必须使用一些受信任的证书?如果有人可以指导我,我会很高兴,因为谷歌上的所有搜索都将我定向到 Silverlight 应用程序 +Crossdomain.xml+WCF,但我没有看到跨域环境中 WPF 的任何组合。

4

1 回答 1

0

当这两台计算机不属于同一域时,无法在 WPF 客户端和 WCF 服务器之间共享 Windows 凭据。对于传输级别和消息级别的安全性,您可以使用证书来建立跨域信任,但是是的,这需要必须签署这些证书并让签署机构在客户端上受信任。

当您控制 WPF 客户端计算机并可以在客户端的受信任的根证书颁发机构中安装您的 CA 证书时,您可以使用自签名证书完成此操作。如果您不能让所有 WPF 客户端都安装您的 CA 证书,则您必须获得商业签名的证书。

于 2012-12-08T00:52:32.460 回答