websocket-sharp icon indicating copy to clipboard operation
websocket-sharp copied to clipboard

Problem with handhsake websocket server

Open gokor8 opened this issue 4 years ago • 3 comments

09.02.2021 15:26:21|Fatal|WebSocket.connect|WebSocketSharp.WebSocketException: An error has occurred during a TLS handshake. ---> System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception. ---> System.ComponentModel.Win32Exception (0x80090302): Указанная функция не поддерживается --- End of inner exception stack trace --- at System.Net.Security.SslStream.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, ExceptionDispatchInfo exception) at System.Net.Security.SslStream.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken) at System.Net.Security.SslStream.AuthenticateAsClient(SslClientAuthenticationOptions sslClientAuthenticationOptions) at System.Net.Security.SslStream.AuthenticateAsClient(String targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, Boolean checkCertificateRevocation) at WebSocketSharp.WebSocket.setClientStream() --- End of inner exception stack trace --- at WebSocketSharp.WebSocket.setClientStream() at WebSocketSharp.WebSocket.doHandshake() at WebSocketSharp.WebSocket.connect() 09.02.2021 15:26:21|Error|WebSocket.Send|This operation isn't available in: closed

This my exeption track. if i try send http requests to websocket handhskake, all ok 101 But if i try connect to wsSharp, i get Exeptions MY CODE:

using (var ws = new WebSocket("wss://ws-gate.fxclub.org/ws")) { //ws.SslConfiguration.EnabledSslProtocols = System.Security.Authentication.SslProtocols.Tls11;

            ws.OnMessage += (sender, e) =>
                        Console.WriteLine("Laputa says: " + e.Data);

            ws.Connect();
            ws.Send(secWebSocketKey);
            Console.ReadKey(true);
        }

gokor8 avatar Feb 09 '21 12:02 gokor8

do you already tried ws.SslConfiguration.EnabledSslProtocols = System.Security.Authentication.SslProtocols.Tls12; In my case this fixed the error

lesij-dev avatar Mar 10 '21 19:03 lesij-dev

Thanks that one worked for me! In my case I wanted to connect to a websocket server, which supported v1, v1.1 and v1.2, on Ubuntu 20 but failed with no protocol available. The same (.NET 5) application worked on Windows 10.

JannemanDev avatar Nov 06 '21 16:11 JannemanDev

do you already tried ws.SslConfiguration.EnabledSslProtocols = System.Security.Authentication.SslProtocols.Tls12; In my case this fixed the error

Did also work for me. Thanks a lot!

felixholfelder avatar Mar 21 '24 10:03 felixholfelder