-
Notifications
You must be signed in to change notification settings - Fork 2.1k
CHIA-2102 - Set minimum to TLSv1.3 #19079
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks GREAT to me!
testssl.sh report:
|
|
This PR has been flagged as stale due to no activity for over 60 days. It will not be automatically closed, but it has been given a stale-pr label and should be manually reviewed by the relevant parties. |
This can be moved forward now with addition of TLS 1.3 on macOS for dotnet here: https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/libraries#tls-13-for-macos-client |
There remains an override available for the daemon that we could probably also remove |
Set the minimum for all TLS communications to TLS v1.3. This includes the node peer protocol and service RPC calls.
Note, TLS v1.3 only has secure and safe ciphersuites, so we don't need to specifically set the ciphersuites list.
The change to allow TLS v1.2 was done here (#9195). At that time there was some concern over older python versions and older systems with openssl without 1.3 support.
Since that time we have dropped support for python 3.7 and 3.8 and it seems unlikely there are any system out there without TLS v1.3 support.
I'll note that apparently .NET still does not have TLS v1.3 support on macOS (dotnet/runtime#1979) until .NET 10 something in 2025 - so the daemon workaround introduced here (#16747) remains available to downgrade daemon connections to TLS v1.2
Converted to draft, because I believe this likely breaks again https://github.com/dkackman/chia-dotnet - that talks to the daemon and all the RPC endpoints.
Previously, the default was TLS 1.2 for everything except for the daemon which used 1.3. This broke
chia-dotnet
for the daemon connections only, but not for the RPC ports.Changing the default everywhere to 1.3 likely breaks
chia-dotnet
again for the RPC services and so those also need a downgrade. Unfortunately doing a downgrade for the RPC services and 1.3 on the peer protocol is suitably annoying.Discussed this with @dkackman and once dotnet 10 adds in support for TLS 1.3 (which is planned for early 2025) we can move forward with this.