【发布时间】:2011-11-10 08:57:51
【问题描述】:
对于客户,我必须使用 WCF 在客户端和服务器应用程序之间进行通信。
我的应用程序使用 WSHttpBinding 进行通信,但现在,客户没有安装任何 SSL 证书,因为:
- 服务器只能通过 VPN 访问,因此通信已经加密
- 他们的计算机不在域中,因此无法使用域 CA
- 服务器的名称没有公共 IP,因此他们无法为此 IP 购买 SSL 证书
所以我开始研究如何不使用任何 SSL 证书,但遇到了一些问题:
我看到我应该为安全模式使用“TransportCredentialOnly”设置,但该设置不适用于“WsHttpBinding”。所以我决定使用basicHttpBinding,它有这个选项,但似乎basicHttpBinding没有提供使用CustomUserNamePasswordValidator的可能性。
那么我该怎么做呢?我找到的每个搜索结果要么使用 SSL 证书,要么没有 customUserNameValidator。
非常感谢您的帮助。
【问题讨论】:
-
自签名证书有用吗?
-
如何托管 WCF 服务?信息系统?自托管?
-
@Jason Rowe:不,因为他们不能在每台计算机上都添加这个:(
-
@Yahia:应用程序托管在 WCF 应用程序中
标签: c# wcf ssl wcf-binding wcf-security