随着最近BEAST的出现(利用 SSL/TLS1.0 中的漏洞,其中有效负载的初始字节始终相同),我查看了SslStream
该类以查看它是否支持 TLS 1.1、TLS 1.2 等。它只支持 ( SslProtocol
) SSL 2 和 3(都早于 TLS)和 TLS 1.0。
鉴于SslProtocol
仅宣传对 TLS 1.0 及更低版本的支持,是否有可能SslStream
用于 TLS 1.1 及更高版本?
随着最近BEAST的出现(利用 SSL/TLS1.0 中的漏洞,其中有效负载的初始字节始终相同),我查看了SslStream
该类以查看它是否支持 TLS 1.1、TLS 1.2 等。它只支持 ( SslProtocol
) SSL 2 和 3(都早于 TLS)和 TLS 1.0。
鉴于SslProtocol
仅宣传对 TLS 1.0 及更低版本的支持,是否有可能SslStream
用于 TLS 1.1 及更高版本?
看来要更新了。
从 .NET 4.5 开始,SslProtocol(以及因此SslStream)现在支持 TLS 1.1 和 TLS 1.2。
这些协议在 4.6 中默认启用。对于 4.5,您需要SslStream
使用重载AuthenticateAsClient
调用在对象中激活它们:
sslStream.AuthenticateAsClient(hostname, null, SslProtocols.Tls12 | SslProtocols.Tls11, true);