如何将WCF Message Security与外部客户端一起使用

时间:2014-01-15 21:11:54

标签: wcf wcf-security

这是我的情景:

我需要托管一个将由多个客户使用的WCF Web服务应用程序。每个客户都负责自己的客户端应用程序,他们将使用不同的技术构建客户端应用程序。很可能他们的客户都不会是.Net(可能是Java或其他东西)。

我需要实现消息级别安全性以遵守其策略(传输安全性不足)。

鉴于上述要求,我很难理解如何在WCF中实现可由我无法控制的客户端使用的Message Security。我读过的所有内容都讨论了我将构建自己的客户端的场景,以及客户端甚至会在我的网络域中。

如果我使用证书实施Message Security,我可以在我的服务器上安装一个证书,并让每个客户端负责在他们的服务器上安装自己的证书吗?那么我们是否可以通过简单地共享公钥来使用Message Security?

1 个答案:

答案 0 :(得分:1)

基本上,你在最后一段中所说的是真的。您将为WCF服务的订户提供他们安装的公钥(.cer)文件,并在其客户端计算机的LocalMachine / My store中注册。

在主机端,您将在LocalMachine / TrustedPeople存储中安装cert公钥,并在主机LocalMachine / Personal存储中安装私钥(.pfx或.pvk)。

您可以稍微改变安装/注册公钥和私钥的位置,但是您必须配置WCF服务以在服务器上查找这些证书元素。客户必须这样做。

这确实有效。我做到了。

您可以使用.bat文件和makecert.exe和certmgr.exe DOS命令自动执行其中一些操作,以确保所有内容都安装在正确的位置。