2009-07-30 59 views
2

我们有一个基于客户端/服务器的架构,其中许多客户端(用Java编写)连接到服务器(使用自定义协议),所有通信都使用SSL。该服务器曾经是用Delphi编写的,并使用OpenSSL进行SSL支持。我们在.Net 3.5 SP1中完成了对服务器的完全重写,并通过TcpClient套接字连接使用SslStream使SSL正常工作。如何在.Net服务器中不加密地支持SSL?

问题是可以将客户端配置为不在SSL连接中使用任何加密,从而提高安全环境(例如LAN)中的性能。我们还没有找到一种方法来告诉SslStream它应该支持“不加密”选项,所以我们的新服务器只是在SSL握手期间拒绝客户端。 App.Config中是否有一些设置可以设置为允许?或者,也许我可以通过反射获得一些隐藏的设置?

任何帮助将不胜感激,因为它是不幸的是我们没有选择去禁用当前在现场的数千个客户端的设置。另外,我们的服务器还向经常在同一安全网络上的其他服务器发送多个GB值的数据(使用WCF)。在这种情况下是否有简单的方法来关闭加密?

非常感谢您的时间!

回答

4

SslStream对象从运行它的系统的注册表中获取其允许设置(例如,协议,散列,密码)的列表。默认情况下,null密码套件不在注册表中,因此不允许。然而,支持,但必须手动添加。我从来没有添加过,只能删除,所以我不确定如何去做,但下面的MSDN文章应该让你朝着正确的方向前进。

http://msdn.microsoft.com/en-us/library/aa374757%28VS.85%29.aspx

+0

非常感谢您的信息!我正走向Tech-Ed(南非)的大门,但我会在下周末尝试一下。 – 2009-07-31 14:42:06

相关问题