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

cryto/tls: Implement kemtls with mutual auth #66 #71

Open
wants to merge 70 commits into
base: cf
Choose a base branch
from
Open

Commits on Jan 27, 2021

  1. [release-branch.go1.16] go1.16rc1

    Change-Id: I978f6df491a19a9c45ab906dbc5194b8665bf4a5
    Reviewed-on: https://go-review.googlesource.com/c/go/+/287352
    Run-TryBot: Alexander Rakoczy <[email protected]>
    Trust: Alexander Rakoczy <[email protected]>
    TryBot-Result: Go Bot <[email protected]>
    Reviewed-by: Dmitri Shuralyov <[email protected]>
    toothrot committed Jan 27, 2021
    Configuration menu
    Copy the full SHA
    3e06467 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2021

  1. [release-branch.go1.16] all: merge master into release-branch.go1.16

    1004a7c runtime/metrics: update documentation to current interface
    6530f26 doc/go1.16: remove draft notice
    353e111 doc/go1.16: fix mismatched id attribute
    f0d23c9 internal/poll: netpollcheckerr before sendfile
    0cb3415 doc: remove all docs not tied to distribution
    626ef08 doc: remove install.html and install-source.html
    30641e3 internal/poll: if copy_file_range returns 0, assume it failed
    33d72fd doc/faq: update generics entry to reflect accepted proposal
    852ce7c cmd/go: provide a more helpful suggestion for "go vet -?"
    66c2709 cmd/link: fix typo in link_test.go
    ff0e93e doc/go1.16: note that package path elements beginning with '.' are disallowed
    249da7e CONTRIBUTORS: update for the Go 1.16 release
    864d4f1 cmd/go: multiple small 'go help' fixes
    26ceae8 spec: More precise wording in section on function calls.
    930c2c9 cmd/go: reject embedded files that can't be packed into modules
    e5b08e6 io/fs: allow backslash in ValidPath, reject in os.DirFS.Open
    ed80790 cmd/compile: mark concrete call of reflect.(*rtype).Method as REFLECTMETHOD
    e9c9683 cmd/go: suppress errors from 'go get -d' for packages that only conditionally exist
    e0ac989 archive/tar: detect out of bounds accesses in PAX records resulting from padded lengths
    c9d6f45 runtime/metrics: fix a couple of documentation typpos
    cea4e21 io/fs: backslash is always a glob meta character
    dc725bf doc/go1.16: mention new vet check for asn1.Unmarshal
    1901853 runtime/metrics: fix panic in readingAllMetric example
    ed3e4af syscall/plan9: remove spooky fd action at a distance
    724d072 doc/go1.16: add missed heading tag in vet section
    b54cd94 embed, io/fs: clarify that leading and trailing slashes are disallowed
    4516afe testing/fstest: avoid symlink-induced failures in tester
    8869086 runtime: fix typo in histogram.go
    e491c6e math/big: fix comment in divRecursiveStep
    fca94ab spec: improve the example in Type assertions section
    98f8454 cmd/link: don't decode type symbol in shared library in deadcode
    1426a57 cmd/link: fix off-by-1 error in findShlibSection
    32e789f test: fix incorrectly laid out instructions in issue11656.go
    0b6cfea doc/go1.16: document that on OpenBSD syscalls are now made through libc
    26e29aa cmd/link: disable TestPIESize if CGO isn't enabled
    6ac91e4 doc/go1.16: minor markup fixes
    4436114 embed: update docs for proposal tweaks
    68058ed runtime: document pointer write atomicity for memclrNoHeapPointers
    c8bd801 syscall: generate readlen/writelen for openbsd libc
    41bb49b cmd/go: revert TestScript/build_trimpath to use ioutil.ReadFile
    725a642 runtime: correct syscall10/syscall10X on openbsd/amd64
    4b068ca doc/go1.16: document go/build/constraint package
    376518d runtime,syscall: convert syscall on openbsd/arm64 to libc
    
    Change-Id: Icfe3d849f459eda48d7d786d0cd7b082c9c2c325
    toothrot committed Feb 16, 2021
    Configuration menu
    Copy the full SHA
    e34168e View commit details
    Browse the repository at this point in the history
  2. [release-branch.go1.16] go1.16

    Change-Id: I4c1350e0cb74ebfde5832973979e02997476d16c
    Reviewed-on: https://go-review.googlesource.com/c/go/+/292609
    TryBot-Result: Go Bot <[email protected]>
    Trust: Alexander Rakoczy <[email protected]>
    Run-TryBot: Alexander Rakoczy <[email protected]>
    Reviewed-by: Dmitri Shuralyov <[email protected]>
    Reviewed-by: Carlos Amedee <[email protected]>
    toothrot committed Feb 16, 2021
    Configuration menu
    Copy the full SHA
    f21be2f View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2021

  1. Add support for CIRCL

    bwesterb authored and cjpatton committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    3649d83 View commit details
    Browse the repository at this point in the history
  2. Add cfgo build tag

    bwesterb authored and cjpatton committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    19e3fdf View commit details
    Browse the repository at this point in the history
  3. Add cf tag to VERSION

    bwesterb authored and cjpatton committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    3ed7bfb View commit details
    Browse the repository at this point in the history
  4. circl: Update

    bwesterb authored and cjpatton committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    36f08d3 View commit details
    Browse the repository at this point in the history
  5. crypto: Add support for CIRCL signature schemes

    Co-authored-by: Christopher Patton <[email protected]>
    bwesterb and cjpatton committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    23f9e99 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4e0683c View commit details
    Browse the repository at this point in the history
  7. crypto/tls: Implement draft-ietf-tls-esni-08

    Adds initial support for the Encrypted ClientHello (ECH) extension, as
    specified by draft-ietf-tls-esni-08. A few features are not implemented,
    including client- and server-side padding.
    
    This commit also adds basic support for handshake metrics:
    
    * Adds a callback `EventHandler()` to `Config`, which can be called at
    various points during the handshake to respond to various events. For
    example, this callback can be used to record metrics.
    * Adds calls to `EventHandler()` just before closing the TLS connection
    for resolving ECH usage: whether the client offered, greased, or
    bypassed ECH; and whether the server accepted, rejected, or bypassed
    ECH.
    cjpatton committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    ab27ad1 View commit details
    Browse the repository at this point in the history
  8. circl: Update to ebd10dd620d197162cf0a94b823b79c711a1c717

    - Update cf-copy-from-circle.py to exclude some unused packages that
      were breaking the build.
    - Fix some API changes.
    cjpatton committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    dfd7871 View commit details
    Browse the repository at this point in the history
  9. crypto/tls: Add experimental intra-handshake timing support

    Extend the experimental Event API with two new event instances:
    one for client and server intra-handshake state machine durations,
    respectively. Each event records elapsed timestamps (durations)
    for relevant events during the course of a connection, such as
    reading and writing handshake messages of interest. This will be
    useful for recording intra-stack costs of TLS extensions such as
    ECH and KEMTLS.
    Christopher Wood authored and cjpatton committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    b4d61d5 View commit details
    Browse the repository at this point in the history
  10. crypto/tls: Fix the testingTriggerHRR condition

    The server sends an HRR if the client does not offer a key share for a
    key exchange algorithm the server doesn't support. For testing purposes,
    it's useful to trigger this codepath manually. If testingTriggerHRR is
    set, then the server only advertises support for algorithms that the
    client supports, but did not provide a key share for.
    
    This change fixes a bug in the trigger logic. It seemed to work for the
    existing algorithm preferences, but could break if the preferences
    change.
    cjpatton committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    7440849 View commit details
    Browse the repository at this point in the history
  11. circl: Update to be899c60a098f3946df5e31f11250a6ffa93cd90

    This adds an implementation of HPKE-07, which is required for ECH-09.
    cjpatton committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    f14336e View commit details
    Browse the repository at this point in the history
  12. crypto/tls: Move draft-ietf-tls-esni-08 to -09

    Most significant spec changes include:
    * Bump HPKE-05 to -07.
    * Derive acceptance confirmation from handshake secret.
    * Reuse HPKE context across HRR.
    * Use a new codepoint to distinguish between CHI/CHO.
    * Bind context handle to AEAD encryption.
    
    Other changes:
    * Remove hrrPsk from ECHProvider.Context (breaks API).
    * Prune retry configs of unknown version returned by the ECH provider.
    * Add EXP_ECHKeySet, a default implementation of the ECH provider. (This
      will be useful for interop testing.)
    * Require that the ECH extension not appear in OuterExtensions.
    * Add event handler for outer SNI / public name mismatch.
    * Remove implementation of HPKE-05
    cjpatton committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    486fc4f View commit details
    Browse the repository at this point in the history
  13. crypto/tls: Consolidate CF-specific logic

    * Rename EXP_Event to CFEvent.
    * Move CFEvent implementations to tls_cf.go.
    * Add CFControl parameter to Config. This value will be used to
    propagate Cloudflare-internal logic from the TLS configuration to HTTP
    requests.
    cjpatton committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    222153b View commit details
    Browse the repository at this point in the history
  14. Add CODEOWNERS file

    cjpatton committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    d8a24ba View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    3323b85 View commit details
    Browse the repository at this point in the history
  16. circl: Update to 8bfb091bcab9c351e21bc14a263f0bdaa79c4863

    Manually removed Ristretto code because it has external dependencies.
    cjpatton committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    2a17ea3 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2021

  1. Configuration menu
    Copy the full SHA
    33dbd35 View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2021

  1. circl: Update to 3977848c88c641772e447c63a0ec29c8f4085e58

    This change upgrades CIRCL's implementation of draft-irtf-cfrg-hpke-07
    to 08. This breaks unit tests for ECH in crypto/tls, which currently
    expects HPKE-07. It also modifies the implementation of OPRF.
    
    Manually removed Ristretto code, which includes external dependencies
    that break ./all.bash.
    cjpatton committed Mar 19, 2021
    Configuration menu
    Copy the full SHA
    76b537c View commit details
    Browse the repository at this point in the history
  2. crypto/tls: Move draft-ietf-tls-esni-09 to 10

    This change adds support for ECH-10 and removes support for ECH-09. The
    primary changes are moving to HPKE-08 and changing the ECHConfig
    identifier from a client-computed value to a server-chosen value.
    ECHProviders MUST use rejection sampling in choosing the configuration
    identifier so as to not introduce conflicts.
    Christopher Wood authored and cjpatton committed Mar 19, 2021
    Configuration menu
    Copy the full SHA
    7c96cb6 View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2021

  1. crypto/tls: define api for delegated credentials so they are fetched …

    …using the same mechanisms used to fetch certificates #67 (#69)
    
    Refactor new API
    
    Address comments from review
    
    Address comments from review 2
    
    Address comments from review 3
    claucece committed Mar 23, 2021
    Configuration menu
    Copy the full SHA
    5ef1b90 View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2021

  1. cryto/tls: Implement kemtls with mutual auth #66

    Small fixes to the API
    claucece committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    ea852b3 View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2021

  1. Configuration menu
    Copy the full SHA
    6b2790d View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2021

  1. Configuration menu
    Copy the full SHA
    c951661 View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2021

  1. Some fixes

    claucece committed Apr 18, 2021
    Configuration menu
    Copy the full SHA
    1c629c9 View commit details
    Browse the repository at this point in the history
  2. Add timings for kemtls

    claucece committed Apr 18, 2021
    Configuration menu
    Copy the full SHA
    574b29b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b3cfe3b View commit details
    Browse the repository at this point in the history
  4. Change oid

    claucece committed Apr 18, 2021
    Configuration menu
    Copy the full SHA
    5f70419 View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2021

  1. Add pqtls: server auth

    claucece committed Apr 19, 2021
    Configuration menu
    Copy the full SHA
    bf39098 View commit details
    Browse the repository at this point in the history
  2. Add pqtls: mutual auth

    claucece committed Apr 19, 2021
    Configuration menu
    Copy the full SHA
    57079e0 View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2021

  1. Implement ed448

    claucece committed Apr 20, 2021
    Configuration menu
    Copy the full SHA
    8cc3f96 View commit details
    Browse the repository at this point in the history

Commits on Apr 21, 2021

  1. Configuration menu
    Copy the full SHA
    63e9b07 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4996072 View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2021

  1. Debugging

    claucece committed Apr 23, 2021
    Configuration menu
    Copy the full SHA
    5d770f8 View commit details
    Browse the repository at this point in the history
  2. Other debugging

    claucece committed Apr 23, 2021
    Configuration menu
    Copy the full SHA
    8bfc9e5 View commit details
    Browse the repository at this point in the history
  3. Solve potential bug

    claucece committed Apr 23, 2021
    Configuration menu
    Copy the full SHA
    9d7f443 View commit details
    Browse the repository at this point in the history
  4. Small check

    claucece committed Apr 23, 2021
    Configuration menu
    Copy the full SHA
    a700c72 View commit details
    Browse the repository at this point in the history
  5. Remove the insane debugging

    claucece committed Apr 23, 2021
    Configuration menu
    Copy the full SHA
    6b21740 View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2021

  1. Configuration menu
    Copy the full SHA
    4af113d View commit details
    Browse the repository at this point in the history

Commits on May 4, 2021

  1. Configuration menu
    Copy the full SHA
    65043c4 View commit details
    Browse the repository at this point in the history

Commits on May 5, 2021

  1. Configuration menu
    Copy the full SHA
    76558dd View commit details
    Browse the repository at this point in the history

Commits on May 10, 2021

  1. Configuration menu
    Copy the full SHA
    1086039 View commit details
    Browse the repository at this point in the history
  2. Test cached info extension

    claucece committed May 10, 2021
    Configuration menu
    Copy the full SHA
    66b36a9 View commit details
    Browse the repository at this point in the history
  3. Add kemtls cached extension

    claucece committed May 10, 2021
    Configuration menu
    Copy the full SHA
    6357446 View commit details
    Browse the repository at this point in the history
  4. 1 Configuration menu
    Copy the full SHA
    4f842bb View commit details
    Browse the repository at this point in the history
  5. Add pdk kemtls

    claucece committed May 10, 2021
    Configuration menu
    Copy the full SHA
    80c8ef9 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2021

  1. Small fix

    claucece committed May 11, 2021
    Configuration menu
    Copy the full SHA
    0cd8a4c View commit details
    Browse the repository at this point in the history
  2. Add these fixes as well

    claucece committed May 11, 2021
    Configuration menu
    Copy the full SHA
    1cb0132 View commit details
    Browse the repository at this point in the history
  3. Printing to check

    claucece committed May 11, 2021
    Configuration menu
    Copy the full SHA
    fe124d1 View commit details
    Browse the repository at this point in the history
  4. More printing

    claucece committed May 11, 2021
    Configuration menu
    Copy the full SHA
    21b5491 View commit details
    Browse the repository at this point in the history
  5. Use the cert itself

    claucece committed May 11, 2021
    Configuration menu
    Copy the full SHA
    f785ff6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    09b1727 View commit details
    Browse the repository at this point in the history
  7. Debugging

    claucece committed May 11, 2021
    Configuration menu
    Copy the full SHA
    7bb782c View commit details
    Browse the repository at this point in the history

Commits on May 12, 2021

  1. Remove all debugging

    claucece committed May 12, 2021
    Configuration menu
    Copy the full SHA
    f0b889f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    acd4fed View commit details
    Browse the repository at this point in the history
  3. adds default case to switch

    armfazh committed May 12, 2021
    Configuration menu
    Copy the full SHA
    cf50d22 View commit details
    Browse the repository at this point in the history

Commits on May 13, 2021

  1. Configuration menu
    Copy the full SHA
    8f403ad View commit details
    Browse the repository at this point in the history
  2. Timing fixes

    claucece committed May 13, 2021
    Configuration menu
    Copy the full SHA
    231c034 View commit details
    Browse the repository at this point in the history
  3. Other fixes

    claucece committed May 13, 2021
    Configuration menu
    Copy the full SHA
    a7bdd1c View commit details
    Browse the repository at this point in the history
  4. Timings

    claucece committed May 13, 2021
    Configuration menu
    Copy the full SHA
    67a4639 View commit details
    Browse the repository at this point in the history

Commits on May 16, 2021

  1. Debugging

    claucece committed May 16, 2021
    Configuration menu
    Copy the full SHA
    4c16d33 View commit details
    Browse the repository at this point in the history
  2. Back to normal

    claucece committed May 16, 2021
    Configuration menu
    Copy the full SHA
    4865474 View commit details
    Browse the repository at this point in the history
  3. Other debugging

    claucece committed May 16, 2021
    Configuration menu
    Copy the full SHA
    eba51c1 View commit details
    Browse the repository at this point in the history
  4. Other debugging 2

    claucece committed May 16, 2021
    Configuration menu
    Copy the full SHA
    fe4c069 View commit details
    Browse the repository at this point in the history

Commits on May 17, 2021

  1. Other debugging

    claucece committed May 17, 2021
    Configuration menu
    Copy the full SHA
    4f0dc63 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2021

  1. Remove all checks

    claucece committed May 26, 2021
    Configuration menu
    Copy the full SHA
    4adcbf3 View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2021

  1. Remove printing lines

    claucece committed Jul 20, 2021
    Configuration menu
    Copy the full SHA
    9dd05cf View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2021

  1. Add debugging

    claucece committed Jul 21, 2021
    Configuration menu
    Copy the full SHA
    29e977d View commit details
    Browse the repository at this point in the history