ServicePointManager.SecurityProtocol 多协议性能

ServicePointManager.SecurityProtocol multiple protocol performance

使用.net 4.6 当设置多个协议来访问一个 api 时,尝试所有协议是否会影响调用的延迟?

示例: ervicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

由于现在 TLS 1.2 之前的所有版本实际上都不受欢迎,因此无论如何将早期版本包含在新开发中都是值得怀疑的。但是,要回答您的问题:

will trying all protocols affect

你应该知道,对于 TLS,客户端的第一条消息只是说“这是我支持的最高协议版本”,而服务器的第一条回复要么同意版本1或者说“我只支持较低版本”。届时,客户端可以同意继续使用服务器回复的版本或报告连接失败。

没有多次尝试,每个方向只有一条消息。


1如果服务器认为该版本可以接受。如果配置的版本不包括客户端请求的版本或任何较低版本,它有第一次机会拒绝继续。