Skip to content
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

Support ESNI #138

Open
kriskwiatkowski opened this issue Sep 25, 2018 · 4 comments · May be fixed by #172
Open

Support ESNI #138

kriskwiatkowski opened this issue Sep 25, 2018 · 4 comments · May be fixed by #172
Assignees

Comments

@kriskwiatkowski
Copy link
Contributor

The point of this ticket is to support E-SNI:

https://blog.cloudflare.com/encrypted-sni
https://tools.ietf.org/html/draft-ietf-tls-esni-01

@f4nff
Copy link

f4nff commented Oct 4, 2018

good~

@CetinSert
Copy link

@henrydcase @f4nff @agl @henrydcase @FiloSottile
Is there a version of this library or any other Go TLS 1.3 library with E-SNI support available for testing?
I would like to setup a censorship circumvention tool for Korea.

@f4nff
Copy link

f4nff commented Feb 16, 2019

There are currently no golang libraries that can be tested for e-sni.

@Lekensteyn
Copy link
Contributor

Lekensteyn commented Apr 3, 2019

Status of the ecosystem:

Todo:

  • Look at other implementations and try to come up with a reasonable API.

My initial thought is to include an array of ESNIKeys items. For TLS clients, the first item will be used. For TLS servers, a matching entry will be used. The DNS query should be handled outside crypto/tls, but we could provide some example code in a test (or maybe a separate package).

Alternatively, two functions fields could be created, ClientESNIKeys: ESNIKeys (which would be a single item) and GetServerESNIKeys: func(record_digest []byte). The return values are TBD, but as the server can also provide ESNIKeys in its response for use with future connections, this must somehow be exposed as well.

I'll investigate this later.

@Lekensteyn Lekensteyn self-assigned this Apr 3, 2019
@Lekensteyn Lekensteyn changed the title Support E-SNI Support ESNI May 2, 2019
@Lekensteyn Lekensteyn linked a pull request May 2, 2019 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants