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

Add ESNI client and server support #172

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Add ESNI client and server support #172

wants to merge 2 commits into from

Commits on May 3, 2019

  1. dev: Fix build-test-tris-* on non-Linux

    The Docker image is based on Linux, be sure to build a binary that is
    compatible with it. Fixes interop tests on macOS. During development,
    one can use: `cd _dev/tris-testclient && ../go.sh build -v -i .`
    Lekensteyn committed May 3, 2019
    Configuration menu
    Copy the full SHA
    346dd47 View commit details
    Browse the repository at this point in the history
  2. Add ESNI client and server support

    Implements https://tools.ietf.org/html/draft-ietf-tls-esni-01
    Extends the tls.Config API with a ClientESNIKeys structure which must
    contain a valid key. If this key is not valid, the handshake will fail.
    A GetServerESNIKeys API is also added which allows the server to
    dynamically query for an appropriate ESNI key.
    
    Add a new 'esnitool' utility to generate ESNIKeys for testing purposes,
    this uses a short lifetime, a single curve and cipher suite. The test
    client and server can now be used with these keys. Additionally the test
    client can securely query the ESNI key from DNS (hardcoded to use
    1.1.1.1:853 using DoT for now).
    Lekensteyn committed May 3, 2019
    Configuration menu
    Copy the full SHA
    b99e30c View commit details
    Browse the repository at this point in the history