C# 在SslStream中禁用不安全的重新协商
我在.NET中编写了一个Web服务器,通过使用C# 在SslStream中禁用不安全的重新协商,c#,.net,ssl,C#,.net,Ssl,我在.NET中编写了一个Web服务器,通过使用SslStream支持HTTPS 不幸的是,ssllabs.com输出了关于我的实现的以下消息: 此服务器易受MITM攻击,因为它支持不安全的重新协商 此链接指向有关该漏洞的详细信息 如何在.NET的SslStream中禁用重新协商?SslStream在后台使用SChannel.dll。您可以通过修改注册表来配置可用的算法: 特别是,以下屏幕截图中突出显示的两个条目将不允许TLS重新协商: 它们被称为AllowInSecureReneGoClie
SslStream
支持HTTPS
不幸的是,ssllabs.com输出了关于我的实现的以下消息:
此服务器易受MITM攻击,因为它支持不安全的重新协商
此链接指向有关该漏洞的详细信息
如何在.NET的
SslStream
中禁用重新协商?SslStream在后台使用SChannel.dll。您可以通过修改注册表来配置可用的算法:
特别是,以下屏幕截图中突出显示的两个条目将不允许TLS重新协商:
它们被称为AllowInSecureReneGoClient
和AllowInsecureRenegoServers
,都是DWORD值,都设置为0,位于HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
中
显然,您也可以安装一个热修复程序来禁用不安全的TLS/SSL重新协商(仅适用于Windows XP/Windows2003服务器):
对于window2012,它不使用“AllowInSecureRenegoClient”和“AllowInsecureRenegoServers”设置为0
我已更改为AllowInsecureRenegoClients“作为0,DisableRenegoOnServer”作为1,并正在为我工作。修补程序仅适用于Windows XP和Windows Server 2003。我的解决方案是修改注册表。谢谢!