2011-09-23 52 views
1

隨着BEAST(利用SSL/TLS1.0中有效負載的初始字節總是相同的漏洞)的最近出現,我查看了SslStream class以查看它是否支持TLS 1.1, TLS 1.2等。它只有supports (SslProtocol) SSL 2和3(都在TLS之前)和TLS 1.0。SslStream,BEAST和TLS 1.1

鑑於SslProtocol只支持TLS 1.0及更低版本,是否可以使用SslStream用於TLS 1.1及更高版本?

+2

AFAIK有限制/沒有在客戶的TLS支持1.1+,所以因此沒有服務器困擾支持它,因爲TLS到目前爲止,1.0已經「足夠好」了。解決此漏洞的實用方法,直到支持更好的協議爲止,首選客戶端或服務器上的非CBC密碼套件(如RC4)。關於服務器端請參閱http://www.phonefactor.com/blog/slaying-beast-mitigating-the-latest-ssltls-vulnerability.php。不知道如何更喜歡客戶端的某個密碼。 – Yoshi

+0

@Yoshi你能回答嗎,似乎我不會再有更多的東西,而你的相當不錯。 –

回答

1

看起來像更新是爲了。

從.NET 4.5開始,SslProtocol(因此SslStream)現在支持TLS 1.1和TLS 1.2。

這些協議在4.6中默認啓用。 4.5,你需要通過使用重載AuthenticateAsClient電話來激活他們在您的SslStream對象:

sslStream.AuthenticateAsClient(hostname, null, SslProtocols.Tls12 | SslProtocols.Tls11, true);