Pengyu Lv
52ad333040
simplify helper function name
...
Rename ssl_tls13_check_psk_mode_allowed_by_ticket to
ssl_tls13_ticket_permission_check
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-02-14 14:32:37 +08:00
Pengyu Lv
306a01da4d
refactor: move ticket_flags check into a function
...
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-02-02 16:57:49 +08:00
Pengyu Lv
766796839b
Revert "TLS 1.3: SRV: Validate kex modes when parsing psk"
...
This reverts commit f8e50a9607 .
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-02-02 16:57:42 +08:00
Pengyu Lv
1cc6134768
Add addition options to detect the correct kex mode
...
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-18 17:42:26 +08:00
Pengyu Lv
dadeb20383
TLS 1.3: SRV: Don't select ephemeral mode on resumption
...
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-18 17:42:26 +08:00
Pengyu Lv
f8e50a9607
TLS 1.3: SRV: Validate kex modes when parsing psk
...
On resumption, after the psk identity is matched, we
should check if psk and/or psk_ephemeral, which are
allowed by session ticket, are valid to be selected.
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-18 17:42:12 +08:00
Pengyu Lv
0b740bc85b
TLS 1.3: SRV: Check ticket_flags in kex mode determination
...
When determining the key exchange mode, ticket_flags
should be checked so that the server won't select the
kex mode that is forbidden from session ticket.
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-18 17:37:57 +08:00
Pengyu Lv
9b84ea75de
remove ssl_tls13_has_compat_ticket_flags
...
This content of the function is moved to
ssl_tls13_has_configured_ticket.
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-16 14:08:23 +08:00
Pengyu Lv
2bfd716293
simplify test case dependencies and test commands
...
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-16 13:44:10 +08:00
Pengyu Lv
e2f1dbf5ae
update docs of ssl_client2 and improve code format
...
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-16 12:38:12 +08:00
Pengyu Lv
4938a566bf
refine ticket_flags printing helper
...
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-16 11:28:49 +08:00
Pengyu Lv
acecf9c95b
make ticket_flags param types consistent
...
When ticket_flags used as parameter, use unsigned int,
instead of uint8_t or mbedtls_ssl_tls13_ticket_flags.Also
remove the definition of mbedtls_ssl_tls13_ticket_flags.
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-16 11:23:24 +08:00
Pengyu Lv
3643fdbab9
refine the state setting in tls13_handshake_wrapup
...
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:06:02 +08:00
Pengyu Lv
c1334d934c
correct test case dependencies
...
Now the config dependencies used for ticket_flags
test cases are TLS 1.2 specified. Correct them to
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_*
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:06:01 +08:00
Pengyu Lv
ee455c01ce
move ticket_flags debug helpers
...
The debug helpers printing ticket_flags status are
moved to ssl_tls.c and ssl_debug_helpers.h.
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:06:01 +08:00
Pengyu Lv
189465306d
remove MBEDTLS_ERR_SSL_TICKET_INVALID_KEX_MODE error
...
Return MBEDTLS_ERR_ERROR_GENERIC_ERROR when ticket_flags
are not compatible with advertised key exchange mode.
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:06:00 +08:00
Pengyu Lv
80270b2151
rename ticket_flags helper functions to generic ones
...
Ticket flags is quite generic and may make sense in the
future versions of TLS or even in TLS 1.2 with new
extensions. This change remane the ticket_flags helper
functions with more generic `mbedtls_ssl_session` prefix
instead of `mbedtls_ssl_tls13_session`.
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:05:59 +08:00
Pengyu Lv
a1aa31b8b1
fix review comments
...
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:05:58 +08:00
Pengyu Lv
06cf66d2ab
unroll test cases to improve coverage of check_test_cases in all.sh
...
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:05:58 +08:00
Pengyu Lv
1735ba30ea
fix review comments
...
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:05:57 +08:00
Pengyu Lv
9eacb44a5e
improve code format and readability
...
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:05:57 +08:00
Pengyu Lv
302feb3955
add cases to test session resumption with different ticket_flags
...
This commit add test cases to test if the check of kex change mode
in SessionTicket works well.
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:05:56 +08:00
Pengyu Lv
9356678047
filter the tickets with tls13_kex_mode on client side.
...
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:05:56 +08:00
Pengyu Lv
e6487fe3c2
guard tls13_kex_modes related function calls with macro
...
Handshake parameter field, tls13_kex_mode is only valid when
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED is set.
So, any functions / calls should be guarded by this macros.
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:05:55 +08:00
Pengyu Lv
3eb49be6a8
move kex mode check in ticket_flags to psks_check_identity_match_ticket
...
Move the kex mode check in ticket_flags to
ssl_tls13_offered_psks_check_identity_match_ticket and add new error
'MBEDTLS_ERR_SSL_TICKET_INVALID_KEX_MODE' to indicate the check
failure.
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:05:55 +08:00
Pengyu Lv
c7af2c4f8c
tls13: send new session ticket only when client supports psk
...
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:05:54 +08:00
Pengyu Lv
c55eeb682d
tls13: check if the session ticket is compatible with key exchange modes
...
The server check if the ticket_flags is compatible with the advertised
key exchange modes in Pre-Shared Key Exchange Modes extension. The
incompatible ticket should be mark as not matched.
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:05:53 +08:00
Pengyu Lv
9f92695c8d
tls13: set key exchange mode in ticket_flags on client/server
...
Set the ticket_flags when:
- server: preparing NST (new session ticket) message
- client: postprocessing NST message
Clear the ticket_flags when:
- server: preparing NST message
- client: parsing NST message
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:05:53 +08:00
Pengyu Lv
b7d50acb37
tls13: add helpers to manipulate ticket_flags
...
Add helper functions to get/set/clear ticket_flags.
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:05:52 +08:00
Pengyu Lv
5b8dcd2097
Add debug helper to print ticket_flags status
...
Signed-off-by: Pengyu Lv <pengyu.lv@arm.com >
2023-01-13 11:05:52 +08:00
Gilles Peskine
449bd8303e
Switch to the new code style
...
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com >
2023-01-11 14:50:10 +01:00
Gilles Peskine
fd13a0f851
Merge pull request #6905 from gilles-peskine-arm/code-style-casts-psa-headers-more
...
Remove redundant error code definitions
2023-01-11 14:40:42 +01:00
Gilles Peskine
c55c343670
Merge pull request #6884 from gilles-peskine-arm/check-files-unicode
...
Reject bad characters in source code
2023-01-11 13:46:59 +01:00
Gilles Peskine
03e99cf14d
Remove redundant error code definitions
...
We're including psa/crypto_values.h, which defines the necessary error
codes. Remove redundant definitions, which hurt because they need to be
styled in exactly the same way (same presence/absence of spaces between
tokens).
This completes the fix of https://github.com/Mbed-TLS/mbedtls/issues/6875 .
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com >
2023-01-11 11:15:18 +01:00
Ronald Cron
83c5ad4873
Merge pull request #6787 from yuhaoth/pr/workaround-gnutls_anti_replay_fail
...
TLS 1.3: EarlyData: Workaround anti replay fail from GnuTLS
2023-01-11 09:05:36 +01:00
Gilles Peskine
3900bddd77
Merge pull request #6823 from mpg/unify-openssl-variables
...
Use OPENSSL everywhere, not OPENSSL_CMD
2023-01-10 22:10:19 +01:00
Gilles Peskine
f9c8d76db6
Merge pull request #6893 from tom-daubney-arm/modify_generate_errors_script
...
Make generate_errors.pl handle directory names containing spaces when opening files
2023-01-10 22:09:58 +01:00
Gilles Peskine
b4ffe781ed
Merge pull request #6878 from gilles-peskine-arm/code-style-casts-psa-headers
...
Don't restyle some PSA macros
2023-01-10 22:09:13 +01:00
Gilles Peskine
0770efe4e1
Merge pull request #6888 from daverodgman/iar-bignum-warning
...
Fix IAR warning
2023-01-10 22:08:37 +01:00
Dave Rodgman
bbbd803c2e
Add Changelog
...
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com >
2023-01-10 10:08:12 +00:00
Thomas Daubney
1efe4a874d
Add ChangeLog entry
...
Add ChangeLog entry documenting bugfix.
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com >
2023-01-10 09:35:39 +00:00
Manuel Pégourié-Gonnard
28d4d43416
Merge pull request #6863 from valeriosetti/issue6830
...
Remove uses of mbedtls_ecp_curve_info in TLS (with USE_PSA)
2023-01-10 10:01:17 +01:00
Manuel Pégourié-Gonnard
6e666c2e79
Remove obsolete comment
...
Was explaining why we didn't use the OPENSSL name, but we are using it
now...
Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com >
2023-01-10 09:38:58 +01:00
Manuel Pégourié-Gonnard
3368724ade
Merge pull request #6870 from valeriosetti/issue6831
...
Document/test dependencies on ECP & Bignum
2023-01-10 09:25:41 +01:00
Jerry Yu
3e60cada5d
Improve comment and changlog
...
Signed-off-by: Jerry Yu <jerry.h.yu@arm.com >
2023-01-10 14:58:08 +08:00
Thomas Daubney
33878ed30b
Modify generate errors script
...
Modify generate_errors.pl such that it can now handle
opening files where the file path includes a directory
name containing spaces.
Raised in issue #6879 . Fix provided by
@tom-cosgrove-arm in aforementioned issue.
Signed-off-by: Thomas Daubney <thomas.daubney@arm.com >
2023-01-09 18:28:10 +00:00
Valerio Setti
a0b97bc803
fix wrong type in debug message
...
Signed-off-by: Valerio Setti <vsetti@baylibre.com >
2023-01-09 19:10:32 +01:00
Valerio Setti
2c12185b88
test: fix dependencies on function and data files
...
Signed-off-by: Valerio Setti <vsetti@baylibre.com >
2023-01-09 18:00:39 +01:00
Valerio Setti
1e868ccbac
fix several typos and extra blank spaces
...
Signed-off-by: Valerio Setti <vsetti@baylibre.com >
2023-01-09 17:59:46 +01:00
Valerio Setti
2b5d3ded1f
remove remaining occurencies of mbedtls_ecc_group_to_psa() from TLS
...
Signed-off-by: Valerio Setti <vsetti@baylibre.com >
2023-01-09 11:04:52 +01:00