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: Resumption and early data compatibility tests #8914

Conversation

ronald-cron-arm
Copy link
Contributor

@ronald-cron-arm ronald-cron-arm commented Mar 11, 2024

Description

Fix #6362

PR checklist

Please tick as appropriate and edit the reasons (e.g.: "backport: not needed because this is a new feature")

  • changelog not required, will add one for TLS 1.3 early data feature as a whole
  • backport not required, no TLS 1.3 support in 2.28
  • tests provided

@daverodgman daverodgman added the priority-very-high Highest priority - prioritise this over other review work label Mar 11, 2024
@ronald-cron-arm ronald-cron-arm added needs-review Every commit must be reviewed by at least two team members, needs-reviewer This PR needs someone to pick it up for review and removed needs-ci Needs to pass CI tests labels Mar 11, 2024
…ting

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
Eventually we do not support early data with
external PSK thus no point to do a positive
test on that basis.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
@mpg mpg removed the needs-reviewer This PR needs someone to pick it up for review label Mar 15, 2024
Move m->m resumption tests just
before resumption and early data tests
against GnuTLS and OpenSSL.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
@ronald-cron-arm ronald-cron-arm force-pushed the resumption-early-data-compat-tests branch from ed3916c to dd2dc15 Compare March 15, 2024 09:26
@ronald-cron-arm
Copy link
Contributor Author

Following the merge of #8913 yesterday I had to rebase. The rebase was quite painful but the diff between the previous head ed3916c and the new head dd2dc15 for the 3 files changed in this PR: tls13-misc.sh, ssl-opt.sh and ssl_server2.c are clean thus this should be okay.

@tom-cosgrove-arm
Copy link
Contributor

tom-cosgrove-arm commented Mar 15, 2024

Is the CI failure something to worry about? It's on the Internal CI only.

[2024-03-15T10:40:11.134Z] TLS 1.2: Check rsa_pss_rsae compatibility issue, m->O .................. tests/ssl-opt.sh: 1153: kill: No such process
[2024-03-15T10:40:11.134Z] 
[2024-03-15T10:40:11.134Z] RETRY(client-timeout) PASS
[2024-03-15T10:40:33.022Z] TLS 1.2: Check rsa_pss_rsae compatibility issue, m->G .................. tests/ssl-opt.sh: 1153: kill: No such process
[2024-03-15T10:40:33.022Z] 
[2024-03-15T10:40:33.022Z] RETRY(client-timeout) PASS
[2024-03-15T10:40:33.584Z] TLS 1.3 G->m: AES_128_GCM_SHA256,ffdhe3072,rsa_pss_rsae_sha256 ......... PASS
[2024-03-15T10:40:34.517Z] TLS 1.3 m->G: AES_128_GCM_SHA256,ffdhe3072,rsa_pss_rsae_sha256 ......... PASS
[2024-03-15T10:40:35.444Z] TLS 1.3 G->m: AES_128_GCM_SHA256,ffdhe4096,rsa_pss_rsae_sha256 ......... PASS
[2024-03-15T10:40:36.370Z] TLS 1.3 m->G: AES_128_GCM_SHA256,ffdhe4096,rsa_pss_rsae_sha256 ......... PASS
[2024-03-15T10:40:37.736Z] TLS 1.3 G->m: AES_128_GCM_SHA256,ffdhe6144,rsa_pss_rsae_sha256 ......... PASS
[2024-03-15T10:40:39.101Z] TLS 1.3 m->G: AES_128_GCM_SHA256,ffdhe6144,rsa_pss_rsae_sha256 ......... PASS
[2024-03-15T10:40:40.988Z] TLS 1.3 G->m: AES_128_GCM_SHA256,ffdhe8192,rsa_pss_rsae_sha256 ......... PASS
[2024-03-15T10:40:43.503Z] TLS 1.3 m->G: AES_128_GCM_SHA256,ffdhe8192,rsa_pss_rsae_sha256 ......... PASS
[2024-03-15T10:40:44.064Z] TLS 1.3: no HRR in case of PSK key exchange mode ....................... PASS
[2024-03-15T10:40:44.064Z] Handshake memory usage initial (MFL 16384 - default) ................... SKIP
[2024-03-15T10:40:44.064Z] Handshake memory usage (MFL 4096) ...................................... SKIP
[2024-03-15T10:40:44.064Z] Handshake memory usage (MFL 2048) ...................................... SKIP
[2024-03-15T10:40:44.064Z] Handshake memory usage (MFL 1024) ...................................... SKIP
[2024-03-15T10:40:44.064Z] Handshake memory usage (MFL 512) ....................................... SKIP
[2024-03-15T10:40:44.064Z] ------------------------------------------------------------------------
[2024-03-15T10:40:44.064Z] FAILED (1861 / 1862 tests (98 skipped))
[2024-03-15T10:40:44.320Z] ^^^^test_full_cmake_gcc_asan_new_bignum: test: ssl-opt.sh (full config, ASan build): tests/ssl-opt.sh -> 1^^^^

Copy link
Contributor

@tom-cosgrove-arm tom-cosgrove-arm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, as long as the CI failure is unrelated

Copy link
Contributor

@waleed-elmelegy-arm waleed-elmelegy-arm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it worth adding negative testing for max_early_data_size and ALPN with GnuTLS or is it out of scope? otherwise LGTM.

Copy link
Contributor

@waleed-elmelegy-arm waleed-elmelegy-arm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ronald-cron-arm
Copy link
Contributor Author

LGTM, as long as the CI failure is unrelated

The test that failed is a DTLS test "Session resume using tickets, DTLS: openssl server", that has no relation with the changes in this PR. It passes on the open CI thus I do not think we have to worry about that.

@ronald-cron-arm
Copy link
Contributor Author

Is it worth adding negative testing for max_early_data_size and ALPN with GnuTLS or is it out of scope? otherwise LGTM.

That would involve setting configuration for the first handshake and then changing them when we resume. That's not really in the scope of ssl-opt.sh to me (and we have done that in test_suite_ssl).

@ronald-cron-arm ronald-cron-arm added this pull request to the merge queue Mar 15, 2024
@waleed-elmelegy-arm waleed-elmelegy-arm added the approved Design and code approved - may be waiting for CI or backports label Mar 15, 2024
@ronald-cron-arm ronald-cron-arm removed the needs-review Every commit must be reviewed by at least two team members, label Mar 15, 2024
Merged via the queue into Mbed-TLS:development with commit 0edef1c Mar 15, 2024
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Design and code approved - may be waiting for CI or backports component-tls13 enhancement priority-very-high Highest priority - prioritise this over other review work
Projects
Development

Successfully merging this pull request may close these issues.

TLS 1.3 early data: ssl-opt.sh tests with GnuTLS and MbedTLS
6 participants