-
Notifications
You must be signed in to change notification settings - Fork 18k
crypto/tls: Can't create a request using just one cipher suite with TLS v1.3 #68854
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
Comments
The fact that TLS 1.3 cipher suites are non configurable is intended. |
why? it can be done using curl, how can you then choose to use one specific cipher suite? shouldn't that be documented somewhere? why allowing to set cipher suites at all if you're going to ignore them? |
It is documented on the Cipher suites field. |
got it thanks |
@seankhliao @FiloSottile I appreciate your work, but I must express my frustration with the non-configurable nature of the TLS 1.3 cipher suites in the standard library. As maintainers, you should respect developers' rights to configure libraries according to their application requirements rather than impose your design choices. It is baffling that there is no option for selecting specific cipher suites when they are supported by the library. Most Golang standard libraries allow for configurations, and this restriction undermines the flexibility developers expect. This needs to change. |
@seankhliao @FiloSottile |
@seankhliao @FiloSottile |
See, for example, the explanation at https://go.dev/issue/45430. The Go project aims for the best choices for the overall ecosystem. People who need different choices are free to copy the package and modify it as they see fit. |
Go version
go version go1.22.4 linux/amd64
Output of
go env
in your module/workspace:What did you do?
I'm doing some tests in my project to demonstrate the support for different cipher suites but when I use TLS V1.3, 3 default cipher suites are added, making it impossible to test just one cipher suite in my client request.
My client is for websockets but you can see the issue also happening in http requests.
What did you see happen?
Doing this I can see in wire shark my client offering a request including my chosen cipher suite plus: TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256
and if I select to use only TLS v1.3 not even my cipher suite shows up just the v1.3 defaults.
What did you expect to see?
Only my cipher suite being used from the client request, so I can test different cipher suites scenarios. I'm setting my cipher suite so I expect the request to use it, is not the default behavior when no cipher suite is defined.
The text was updated successfully, but these errors were encountered: