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

[0-RTT][RFC] Create new API for sending early data #387

Open
wants to merge 3 commits into
base: tls13-prototype
Choose a base branch
from

Conversation

jesiegel1
Copy link

Description

This PR adds a new API for sending early data, building off the work done in #369.

Background

Currently, to send early data the client application calls mbedtls_ssl_set_early_data() before the handshake begins, with a pointer to the early data buffer. Once set, the early data buffer cannot be changed during the handshake, limiting the client application to a single early data payload and reducing the opportunity to take full advantage of early data.

Consider a streaming app for example, where real-time data is generated simultaneously with the handshake. The new API will support streaming early data throughout the duration of the handshake in accordance with the standard:

Clients are permitted to "stream" 0-RTT data until they receive the server's Finished, only then sending the EndOfEarlyData message, followed by the rest of the handshake.

Status

DRAFT, solicit feedback on design.

Requires Backporting

NO

Additional comments

Todos

  • Tests
  • Documentation
  • Changelog updated
  • Backported

Steps to test or reproduce

ssl-opt.sh -f 'early data'

@jesiegel1 jesiegel1 force-pushed the tls13-prototype-new-0rtt-api branch from d552f3f to 3a50d36 Compare July 19, 2022 03:58
@ronald-cron-arm ronald-cron-arm removed their request for review October 26, 2022 13:02
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.

1 participant