-
Notifications
You must be signed in to change notification settings - Fork 18k
crypto/tls: After the ech key verification fails, the new key sent by the ech server will not be used for handshake. #70073
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
Related Issues and Documentation
(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.) |
I don't think your example is a good demonstration of your point. In your example you manually set the ECH configuration values, then I think your point would be strong if you can show an example where your code "just" do a plain HTTP query, and go setups ECH Client for you under the hood and that still fails. Also I changed the code: if err != nil {
+ var tgt *tls.ECHRejectionError
+ if !errors.As(err, &tgt) { panic("wrong error type") }
+ log.Fatalf("请求失败: %v", tgt.RetryConfigList)
- log.Fatalf("请求失败: %v", err)
} And it shows an empty
I've also tried looking at the connection through wireshark and I do not find anything of that sort (I could have missed it). |
What if we test it with https://tls-ech.dev/? |
What ECH Key should I be using for |
Timed out in state WaitingForInfo. Closing. (I am just a bot, though. Please speak up if this is a mistake or you have the requested information.) |
Go version
go1.23.2 linux/amd64
Output of
go env
in your module/workspace:What did you do?
What did you see happen?
2024/10/28 10:05:19 请求失败: Get "https://ok-ssl.xyz/cdn-cgi/trace": tls: server rejected ECH
What did you expect to see?
If I use an expired key for handshake, an error will be returned. This should not be the case. The key is obtained through DNS, but DNS may have cache errors. At this time, the new key returned by ECH should be used to re-handshake. I don't know if this understanding is correct?
The text was updated successfully, but these errors were encountered: