我使用 SslStream 在 .NET 中编写了一个支持 HTTPS 的网络服务器。

不幸的是,ssllabs.com 输出了关于我的实现的以下消息:



这链接到有关该漏洞的 interesting blog entry

如何在 .NET 的 SslStream 中禁用重新协商?

最佳答案

SslStream 在底层使用 SChannel.dll。您可以通过修改注册表来配置哪些算法可用:

http://support.microsoft.com/kb/245030

特别是,以下屏幕截图中突出显示的两个条目将禁止 TLS 重新协商:

它们被称为 AllowInsecureRenegoClientsAllowInsecureRenegoServers ,都是 DWORD 值,都设置为 0,位于 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL 中。

显然,您可以安装一个修补程序来禁用不安全的 TLS/SSL 重新协商(仅适用于 Windows XP/Windows2003 服务器):

http://support.microsoft.com/kb/980436/en-us

关于c# - 在 SslStream 中禁用不安全的重新协商,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18509928/

10-11 06:34