gpt4 book ai didi

c# - 如何在 .Net 服务器中支持不加密的 SSL?

转载 作者:行者123 更新时间:2023-11-30 21:24:27 25 4
gpt4 key购买 nike

我们有一个基于客户端/服务器的架构,其中许多客户端(用 Java 编写)连接到服务器(使用自定义协议(protocol)),并且所有通信都使用 SSL。服务器过去是用 Delphi 编写的,并使用 OpenSSL 来支持 SSL。我们在 .Net 3.5 SP1 中完全重写了服务器,并通过 TcpClient 套接字连接使用 SslStream 使 SSL 正常工作。

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

我们将不胜感激任何帮助,因为不幸的是,我们无法为目前现场的数千名客户禁用该设置。

顺便说一句:我们的服务器还会将多个 GB 的数据发送到经常位于同一安全网络(使用 WCF)上的其他服务器。在这种情况下是否有关闭加密的简单方法?

非常感谢您的宝贵时间!

最佳答案

SslStream 对象从其运行的系统的注册表中获取其允许的设置列表(例如协议(protocol)、哈希、密码)。默认情况下,空密码套件不存在于注册表中,因此是不允许的。然而,它们是受支持的,但必须手动添加。我从未添加过,只是删除了,所以我不确定该怎么做,但下面的 MSDN 文章应该能让您朝着正确的方向前进。

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

关于c# - 如何在 .Net 服务器中支持不加密的 SSL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1205238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com