是否有可能破解WCF客户端传递消息凭证不使用SSL?
-
13-09-2019 - |
题
我写定制WCF绑定而回,让我的负载均衡的农场通过IIS托管服务。究其原因,自定义绑定是每个服务器没有SSL,但需要接受用户名+密码的客户端凭证的能力。在这个农场前的代理具有SSL这样的流量会在防火墙之外进行加密。这个自定义绑定工作正常,但现在我在这里,我需要从我的机器在本地观看交通点,想做到这一点瓦特/ SSL中拌匀。
这个问题是这样的 - .NET客户端上,如果我把我的安全模式=“TransportWithMessageCredential”我必须有SSL否则我得到的乐趣错误“无效的方案,预计HTTPS”
是否有可能写一些东西定制的客户端“忽略”了SSL丢失但还是让我通过SOAP头传递用户名+密码?
解决方案
是啊,我写了一篇博客文章中针对此而回叫 “如何:SSL直通与WCF - 或 - TransportWithMessageCredential在普通HTTP”。
这是它的短是,你需要创建自己的HttpTransportBindingElement
子类,“谎言”关于提供担保。
其他提示
有一个修复获得.NET 3.5 SP1,增加了一个AllowInsecureTransport属性到SecurityBindingElement 。这也将是在.NET 4的β2
我想,你的自定义绑定,如果你只是用安全模式=“消息”,你还得到一个错误?自定义绑定是不是真的有必要,因为(如果我没有记错的话),你可以使用的wsHttpBinding以安全模式=“消息”(不需要SSL)。
另一种方法是刚刚产生SSL证书自己,在IIS安装,并实现信托在调用代码的所有证书策略,但是这通常是令人难以接受的(如在不安全的信道上发送用户名和密码)
第三个选项是改变你的合同的运作,以作为参数接受用户名和密码(或某种令牌),或更改数据的合同,因此您可以与任何对象,你可能已经被发送一起发送的信息。