我开发了一个WPF应用程序,该应用程序与位于同一域下的一组自托管WCF服务进行通信,并在配置文件中使用以下设置。
<security mode="Transport">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
<message clientCredentialType="Windows" />
</security>
我在不同域的服务器上托管服务。我可以通过将安全模式设置为“无”来实现通信,这是不理想的。
我是否可以使用其他设置进行跨域通信,或者我是否需要使用某些可信证书?如果有人可以引导我,我会很高兴,因为Google上的所有搜索都指示我使用Silverlight应用程序+ Crossdomain.xml + WCF,但我没有在跨域环境中看到任何WPF组合。
答案 0 :(得分:0)
当这两台计算机不属于同一个域时,无法在WPF客户端和WCF服务器之间共享Windows凭据。对于传输级别和消息级别的安全性,您可以使用证书来建立跨域信任,但是,这需要签署这些证书并在客户端上信任签名授权。
您可以在控制WPF客户端计算机时使用自签名证书完成此操作,并可以在客户端的受信任的根证书颁发机构中安装CA证书。如果您无法让所有WPF客户端安装CA证书,则必须获得商业签名证书。