Skip to content

crypto/tls: allow early_data without pre_shared_key in ECH reject #79283

Description

@rbqvq

As a part of origin report #79282 at BugHunter March 4.


Additionally, there's a Chrome/Edge/BoringSSL interoperability issue with ECH Reject + Early Data:

According to RFC 9849, Section 6.1: Offer ECH

  1. When the client offers the "early_data" extension in ClientHelloInner, it MUST also include the "early_data" extension in ClientHelloOuter. This allows servers that reject ECH and use ClientHelloOuter to safely ignore any early data sent by the client per [RFC8446], Section 4.2.10.

Chrome/Edge/BoringSSL offers early_data in ClientHelloOuter but not PSKs.

Golang will throw a fatal alert if early_data offered but PSKs not offered.

This can cause Chrome/Edge/BoringSSL compatibility issues with ECH Reject + Early Data in QUIC scenarios.

Metadata

Metadata

Assignees

No one assigned

    Labels

    NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions