我知道何时我们应该使用C#& amp;显式地通过ServicePointManager.SecurityProtocol属性设置支持的TLS版本。 .NET。
但我不知道为什么我们应该这样做?
根据MSDN:此属性选择安全套接字的版本 用于新的层(SSL)或传输层安全性(TLS)协议 使用安全超文本传输协议(HTTPS)的连接 方案;现有连接不会更改。
据我所知,客户端和服务器之间的SSL / TLS版本协议是在TLS握手时达成的。
问题:有人可以解释一下显式版本选择的相关性吗? 或为什么我们应该在TLS握手阶段进行此类协商时提及受支持的TLS版本?
答案 0 :(得分:0)
Steffen Ullrich回答(SE)
这不用于选择特定协议版本,而是用于设置允许的协议版本列表。通常,您希望拥有TLS 1.2及更高版本,可能出于兼容性原因而不是TLS 1.1和TLS 1.0,但您不希望允许SSLv3或更低版本。通过使用此API,您可以调整以下TLS握手中允许的协议。