cinderblocks / libremetaverse

An fork of the libopenmetaverse library striving for performance improvements and up-to-date compatibility with SL/OS/Halcyon
BSD 3-Clause "New" or "Revised" License
60 stars 40 forks source link

could not create ssl/tls secure channel #48

Closed Jercieblue closed 2 years ago

Jercieblue commented 2 years ago

Greetings, I am moving from standard open metaverse libs to this. The main issue appears during the login via XmlRPC

XmlRpcHttpClientExtentions.cs, line 60ish

"var response = await client.SendAsync(request, cancellationToken) .ConfigureAwait(false);"

While i am running it on windows 10(the dev machine) everything works correct, On Windows Server 2008 R2 i am getting the error "could not create ssl/tls secure channel" On Windows Server 2012 R2 i am getting the error "A fatal alert was received from the remote endpoint. The TLS protocol defined fatal alert code is 40." witch according to docs refers to "SSL3_ALERT_HANDSHAKE_FAILURE 40" ???

Due to my recent communication with LindenLabs as of 11/1/2021 they have discontinued TLS 1.0 and TLS 1.1.

As i am very unfamiliar with .Net (C++ programmer) i have notices a toon of .NET craziness so I am wandering if there is any necessary runtime i need to install additional or is something that you guys need to check.

Thanks in advance.

cinderblocks commented 2 years ago

You will need to enable at least one of the cipher suites available to the login server on your machine. In TLS 1.3 these are: TLS_AES_256_GCM_SHA384 (0x1302) TLS_CHACHA20_POLY1305_SHA256 (0x1303) TLS_AES_128_GCM_SHA256 (0x1301)

or in TLS 1.2 these are: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8)

This is not a bug in LibreMetaverse, it is a system configuration issue.