Skip to content

Conversation

@mholt
Copy link
Member

@mholt mholt commented Nov 20, 2025

This change implements ECH key rotation, made possible in Go 1.25 thanks to the GetEncryptedClientHelloKeys callback in tls.Config.

Currently, keys are rotated every 30 days, and are supported for 90 days (so, 60 days after rotation), to give clients time to update without needing to retry.

It's not clear what are actually good intervals for these things, as this is new technology and there isn't much diversity of deployments. But generally, smaller anonymity sets (fewer sites) should rotate a less frequently than big anonymity sets, and I suspect most Caddy instances are smaller.

We can always change the rotation intervals based on feedback/experience.

@mholt mholt added this to the v2.11.0 milestone Nov 20, 2025
@mholt
Copy link
Member Author

mholt commented Nov 24, 2025

Let's try something stupid:

@copilot Are there any (other) resource leaks or any security vulnerabilities in this code?

Copy link

Copilot AI commented Nov 24, 2025

@mholt I've opened a new pull request, #7363, to work on those changes. Once the pull request is ready, I'll request review from you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants