我正在尝试使用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这样说。
答案 0 :(得分:1)
这看起来像是一个统一错误,已在2018.2中修复
答案 1 :(得分:0)
对于Websocket尝试: WebSocketClient.SslConfiguration.EnabledSslProtocols = System.Security.Authentication.SslProtocols.Tls12;