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

TLS 1.3 server: Add parsing of the End of Early Data message #6339

Closed
2 tasks
ronald-cron-arm opened this issue Sep 26, 2022 · 0 comments · Fixed by #7058
Closed
2 tasks

TLS 1.3 server: Add parsing of the End of Early Data message #6339

ronald-cron-arm opened this issue Sep 26, 2022 · 0 comments · Fixed by #7058
Assignees
Labels

Comments

@ronald-cron-arm
Copy link
Contributor

ronald-cron-arm commented Sep 26, 2022

This issue tracks the up-streaming on server side of the parsing of the End of Early Data message.

Source: https://github.com/hannestschofenig/mbedtls/tree/tls13-prototype

PLEASE READ THOROUGHLY section 4.5 of the specification

  • Add MBEDTLS_SSL_END_OF_EARLY_DATA state and its handler. The server transitions unconditionally from the MBEDTLS_SSL_SERVER_FINISHED state to the MBEDTLS_SSL_END_OF_EARLY_DATA state. Then if ssl->handshake->early_data == MBEDTLS_SSL_EARLY_DATA_OFF, the state should be skipped (coordinate function). From MBEDTLS_SSL_END_OF_EARLY_DATA the client transitions conditionally to MBEDTLS_SSL_CLIENT_CERTIFICATE or MBEDTLS_SSL_CLIENT_FINISHED depending on the value of ssl->handshake->certificate_request_sent as currently done in ssl_tls13_write_server_finished().
  • Move the switch to the handshake transform for inbound data to the post-processing of the MBEDTLS_SSL_END_OF_EARLY_DATA state.

Testing:
test (ssl-opt.sh test) with a GnuTLS client (not possible with an OpenSSL client I think) a resumption handshake with the ClientHello and the EncryptedExtensions containing an early data indication extension and the server receiving an End of Early Data message. I expect the handshake to run successfully at that point without any early data being exchanged but I may miss something.

Depends on #6331, #6338

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: [3.6] TLS 1.3 early data
Development

Successfully merging a pull request may close this issue.

2 participants