我正在尝试使用 ClientWebSocket
类连接到 websocket。我正在使用 Unity 2017.4.10。不幸的是,C#/Mono 始终使用 TLS 1.0,但由于某种原因失败了。当我检查与 Wireshark 的连接时,我收到一个加密的警报数据包,并且连接关闭。
我已经尝试通过设置强制使用 TLS 1.2:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
但 WebSocket 仍然尝试使用 TLS 1.0 连接。
当连接到 wss://echo.websocket.org 时它可以工作,因为 websocket.org 仅支持 TLS 1.2。不幸的是,我的提供商仍然支持 TLS 1.0、1.1 和 1.2。
无论我如何尝试,HttpWebRequest
和 ClientWebSocket
类始终使用 TLS 1.0。
我知道使用了 TLS 1.0,因为 Wireshark 和 Fiddler 都是这么说的。
最佳答案
看起来这是一个统一错误并已在 2018.2 中修复
关于c# - 强制 HttpWebRequest 和 ClientWebSocket 使用 TLS 1.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53264102/