blob: b1320c5b593adf409331f109a28286e7b42cc28b [file] [log] [blame]
Jerry Yu6a9beba2022-07-31 12:45:25 +08001#!/bin/sh
2
3# tls13-kex-modes.sh
4#
5# Copyright The Mbed TLS Contributors
6# SPDX-License-Identifier: Apache-2.0
7#
8# Licensed under the Apache License, Version 2.0 (the "License"); you may
9# not use this file except in compliance with the License.
10# You may obtain a copy of the License at
11#
12# http://www.apache.org/licenses/LICENSE-2.0
13#
14# Unless required by applicable law or agreed to in writing, software
15# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
16# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17# See the License for the specific language governing permissions and
18# limitations under the License.
19#
20
Jerry Yu66f35f22022-08-22 17:27:41 +080021requires_gnutls_tls1_3
Jerry Yu6a9beba2022-07-31 12:45:25 +080022requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
23requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
24requires_config_enabled MBEDTLS_SSL_SRV_C
25requires_config_enabled MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +020026requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
27
Jerry Yu3e06fce2022-08-25 17:51:57 +080028run_test "TLS 1.3: PSK: No valid ciphersuite. G->m" \
Jerry Yu673b0f92022-09-14 15:02:21 +080029 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yu2185c0f2022-08-23 16:12:43 +080030 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-CIPHER-ALL:+AES-256-GCM:+AEAD:+SHA384:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
31 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
32 localhost" \
33 1 \
34 -s "found psk key exchange modes extension" \
35 -s "found pre_shared_key extension" \
36 -s "Found PSK_EPHEMERAL KEX MODE" \
37 -s "Found PSK KEX MODE" \
Jerry Yu3e06fce2022-08-25 17:51:57 +080038 -s "No matched ciphersuite"
Jerry Yu2185c0f2022-08-23 16:12:43 +080039
40requires_openssl_tls1_3
41requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
42requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
43requires_config_enabled MBEDTLS_SSL_SRV_C
44requires_config_enabled MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +020045requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
46
Jerry Yu3e06fce2022-08-25 17:51:57 +080047run_test "TLS 1.3: PSK: No valid ciphersuite. O->m" \
Jerry Yu673b0f92022-09-14 15:02:21 +080048 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yu2185c0f2022-08-23 16:12:43 +080049 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -ciphersuites TLS_AES_256_GCM_SHA384\
50 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
51 1 \
52 -s "found psk key exchange modes extension" \
53 -s "found pre_shared_key extension" \
54 -s "Found PSK_EPHEMERAL KEX MODE" \
55 -s "Found PSK KEX MODE" \
Jerry Yue7b4b582022-08-25 17:53:13 +080056 -s "No matched ciphersuite"
57
Jerry Yu25ab6542022-09-15 18:32:34 +080058requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SESSION_TICKETS MBEDTLS_SSL_SRV_C \
59 MBEDTLS_SSL_CLI_C MBEDTLS_DEBUG_C MBEDTLS_HAVE_TIME
60requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \
61 MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
62requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \
63 MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63b06ea2022-10-08 14:24:46 +080064run_test "TLS 1.3 m->m: Multiple PSKs: valid ticket, reconnect with ticket" \
65 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70 tickets=8" \
66 "$P_CLI force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70 reco_mode=1 reconnect=1" \
67 0 \
68 -c "Pre-configured PSK number = 2" \
69 -s "sent selected_identity: 0" \
70 -s "key exchange mode: psk_ephemeral" \
71 -S "key exchange mode: psk$" \
72 -S "key exchange mode: ephemeral$" \
73 -S "ticket is not authentic"
74
75requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SESSION_TICKETS MBEDTLS_SSL_SRV_C \
76 MBEDTLS_SSL_CLI_C MBEDTLS_DEBUG_C MBEDTLS_HAVE_TIME
77requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \
78 MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
79requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \
80 MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
81run_test "TLS 1.3 m->m: Multiple PSKs: invalid ticket, reconnect with PSK" \
Jerry Yu25ab6542022-09-15 18:32:34 +080082 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70 tickets=8 dummy_ticket=1" \
83 "$P_CLI force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70 reco_mode=1 reconnect=1" \
84 0 \
85 -c "Pre-configured PSK number = 2" \
86 -s "sent selected_identity: 1" \
87 -s "key exchange mode: psk_ephemeral" \
Jerry Yu63b06ea2022-10-08 14:24:46 +080088 -S "key exchange mode: psk$" \
89 -S "key exchange mode: ephemeral$" \
90 -s "ticket is not authentic"
Jerry Yu25ab6542022-09-15 18:32:34 +080091
92requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SESSION_TICKETS MBEDTLS_SSL_SRV_C \
93 MBEDTLS_SSL_CLI_C MBEDTLS_DEBUG_C MBEDTLS_HAVE_TIME
94requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \
95 MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
96requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
97 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu03aa1742022-10-10 21:48:37 +080098run_test "TLS 1.3 m->m: Session resumption failure, ticket authentication failed." \
Jerry Yu25ab6542022-09-15 18:32:34 +080099 "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=8 dummy_ticket=1" \
100 "$P_CLI debug_level=4 reco_mode=1 reconnect=1" \
101 0 \
102 -c "Pre-configured PSK number = 1" \
103 -S "sent selected_identity:" \
104 -s "key exchange mode: ephemeral" \
Jerry Yu63b06ea2022-10-08 14:24:46 +0800105 -S "key exchange mode: psk_ephemeral" \
106 -S "key exchange mode: psk$" \
Jerry Yu25ab6542022-09-15 18:32:34 +0800107 -s "ticket is not authentic" \
108 -S "ticket is expired" \
Jerry Yu03aa1742022-10-10 21:48:37 +0800109 -S "Invalid ticket start time" \
Jerry Yuc2bfaf02022-10-11 15:55:52 +0800110 -S "Ticket age exceeds limitation" \
Jerry Yu03aa1742022-10-10 21:48:37 +0800111 -S "Ticket age outside tolerance window"
Jerry Yu25ab6542022-09-15 18:32:34 +0800112
113requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SESSION_TICKETS MBEDTLS_SSL_SRV_C \
114 MBEDTLS_SSL_CLI_C MBEDTLS_DEBUG_C MBEDTLS_HAVE_TIME
115requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \
116 MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
117requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
118 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu03aa1742022-10-10 21:48:37 +0800119run_test "TLS 1.3 m->m: Session resumption failure, ticket expired." \
Jerry Yu25ab6542022-09-15 18:32:34 +0800120 "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=8 dummy_ticket=2" \
121 "$P_CLI debug_level=4 reco_mode=1 reconnect=1" \
122 0 \
123 -c "Pre-configured PSK number = 1" \
124 -S "sent selected_identity:" \
125 -s "key exchange mode: ephemeral" \
Jerry Yu63b06ea2022-10-08 14:24:46 +0800126 -S "key exchange mode: psk_ephemeral" \
127 -S "key exchange mode: psk$" \
Jerry Yu25ab6542022-09-15 18:32:34 +0800128 -S "ticket is not authentic" \
129 -s "ticket is expired" \
Jerry Yu03aa1742022-10-10 21:48:37 +0800130 -S "Invalid ticket start time" \
Jerry Yuc2bfaf02022-10-11 15:55:52 +0800131 -S "Ticket age exceeds limitation" \
Jerry Yu03aa1742022-10-10 21:48:37 +0800132 -S "Ticket age outside tolerance window"
Jerry Yu25ab6542022-09-15 18:32:34 +0800133
134requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SESSION_TICKETS MBEDTLS_SSL_SRV_C \
135 MBEDTLS_SSL_CLI_C MBEDTLS_DEBUG_C MBEDTLS_HAVE_TIME
136requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \
137 MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
138requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
139 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu03aa1742022-10-10 21:48:37 +0800140run_test "TLS 1.3 m->m: Session resumption failure, invalid start time." \
Jerry Yu25ab6542022-09-15 18:32:34 +0800141 "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=8 dummy_ticket=3" \
142 "$P_CLI debug_level=4 reco_mode=1 reconnect=1" \
143 0 \
144 -c "Pre-configured PSK number = 1" \
145 -S "sent selected_identity:" \
146 -s "key exchange mode: ephemeral" \
Jerry Yu63b06ea2022-10-08 14:24:46 +0800147 -S "key exchange mode: psk_ephemeral" \
148 -S "key exchange mode: psk$" \
Jerry Yu25ab6542022-09-15 18:32:34 +0800149 -S "ticket is not authentic" \
150 -S "ticket is expired" \
Jerry Yu03aa1742022-10-10 21:48:37 +0800151 -s "Invalid ticket start time" \
Jerry Yuc2bfaf02022-10-11 15:55:52 +0800152 -S "Ticket age exceeds limitation" \
Jerry Yu03aa1742022-10-10 21:48:37 +0800153 -S "Ticket age outside tolerance window"
Jerry Yu25ab6542022-09-15 18:32:34 +0800154
155requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SESSION_TICKETS MBEDTLS_SSL_SRV_C \
156 MBEDTLS_SSL_CLI_C MBEDTLS_DEBUG_C MBEDTLS_HAVE_TIME
157requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \
158 MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu25ab6542022-09-15 18:32:34 +0800159requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
160 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu03aa1742022-10-10 21:48:37 +0800161run_test "TLS 1.3 m->m: Session resumption failure, ticket expired. too old" \
Jerry Yu25ab6542022-09-15 18:32:34 +0800162 "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=8 dummy_ticket=4" \
163 "$P_CLI debug_level=4 reco_mode=1 reconnect=1" \
164 0 \
165 -c "Pre-configured PSK number = 1" \
166 -S "sent selected_identity:" \
167 -s "key exchange mode: ephemeral" \
Jerry Yu63b06ea2022-10-08 14:24:46 +0800168 -S "key exchange mode: psk_ephemeral" \
169 -S "key exchange mode: psk$" \
Jerry Yu25ab6542022-09-15 18:32:34 +0800170 -S "ticket is not authentic" \
171 -S "ticket is expired" \
Jerry Yu03aa1742022-10-10 21:48:37 +0800172 -S "Invalid ticket start time" \
Jerry Yuc2bfaf02022-10-11 15:55:52 +0800173 -s "Ticket age exceeds limitation" \
Jerry Yu03aa1742022-10-10 21:48:37 +0800174 -S "Ticket age outside tolerance window"
Jerry Yu25ab6542022-09-15 18:32:34 +0800175
176requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SESSION_TICKETS MBEDTLS_SSL_SRV_C \
177 MBEDTLS_SSL_CLI_C MBEDTLS_DEBUG_C MBEDTLS_HAVE_TIME
178requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \
179 MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu25ab6542022-09-15 18:32:34 +0800180requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
181 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu03aa1742022-10-10 21:48:37 +0800182run_test "TLS 1.3 m->m: Session resumption failure, age outside tolerance window, too young." \
Jerry Yu25ab6542022-09-15 18:32:34 +0800183 "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=8 dummy_ticket=5" \
184 "$P_CLI debug_level=4 reco_mode=1 reconnect=1" \
185 0 \
186 -c "Pre-configured PSK number = 1" \
187 -S "sent selected_identity:" \
188 -s "key exchange mode: ephemeral" \
Jerry Yu63b06ea2022-10-08 14:24:46 +0800189 -S "key exchange mode: psk_ephemeral" \
190 -S "key exchange mode: psk$" \
Jerry Yu25ab6542022-09-15 18:32:34 +0800191 -S "ticket is not authentic" \
192 -S "ticket is expired" \
Jerry Yu03aa1742022-10-10 21:48:37 +0800193 -S "Invalid ticket start time" \
Jerry Yuc2bfaf02022-10-11 15:55:52 +0800194 -S "Ticket age exceeds limitation" \
Jerry Yu03aa1742022-10-10 21:48:37 +0800195 -s "Ticket age outside tolerance window"
Jerry Yu25ab6542022-09-15 18:32:34 +0800196
197requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_SESSION_TICKETS MBEDTLS_SSL_SRV_C \
198 MBEDTLS_SSL_CLI_C MBEDTLS_DEBUG_C MBEDTLS_HAVE_TIME
199requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED \
200 MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
201requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
202 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu03aa1742022-10-10 21:48:37 +0800203run_test "TLS 1.3 m->m: Session resumption failure, age outside tolerance window, too old." \
Jerry Yu25ab6542022-09-15 18:32:34 +0800204 "$P_SRV debug_level=4 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 tickets=8 dummy_ticket=6" \
205 "$P_CLI debug_level=4 reco_mode=1 reconnect=1" \
206 0 \
207 -c "Pre-configured PSK number = 1" \
208 -S "sent selected_identity:" \
209 -s "key exchange mode: ephemeral" \
Jerry Yu63b06ea2022-10-08 14:24:46 +0800210 -S "key exchange mode: psk_ephemeral" \
211 -S "key exchange mode: psk$" \
Jerry Yu25ab6542022-09-15 18:32:34 +0800212 -S "ticket is not authentic" \
213 -S "ticket is expired" \
Jerry Yu03aa1742022-10-10 21:48:37 +0800214 -S "Invalid ticket start time" \
Jerry Yuc2bfaf02022-10-11 15:55:52 +0800215 -S "Ticket age exceeds limitation" \
Jerry Yu03aa1742022-10-10 21:48:37 +0800216 -s "Ticket age outside tolerance window"
Jerry Yue7b4b582022-08-25 17:53:13 +0800217
218requires_gnutls_tls1_3
219requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200220requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800221run_test "TLS 1.3: G->m: ephemeral_all/psk, fail, no common kex mode" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800222 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800223 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
224 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
225 localhost" \
226 1 \
227 -s "found psk key exchange modes extension" \
228 -s "found pre_shared_key extension" \
229 -s "Found PSK_EPHEMERAL KEX MODE" \
230 -S "Found PSK KEX MODE" \
231 -S "key exchange mode: psk$" \
232 -S "key exchange mode: psk_ephemeral" \
233 -S "key exchange mode: ephemeral"
234
235requires_gnutls_tls1_3
236requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200237requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800238run_test "TLS 1.3: G->m: all/psk, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800239 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800240 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
241 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
242 localhost" \
243 0 \
244 -s "found psk key exchange modes extension" \
245 -s "found pre_shared_key extension" \
246 -s "Found PSK_EPHEMERAL KEX MODE" \
247 -s "Found PSK KEX MODE" \
248 -s "Pre shared key found" \
249 -S "No matched PSK or ticket" \
250 -s "key exchange mode: psk$" \
251 -S "key exchange mode: psk_ephemeral" \
252 -S "key exchange mode: ephemeral"
253
254requires_gnutls_tls1_3
255requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200256requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800257run_test "TLS 1.3: G->m: all/psk, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800258 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800259 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
260 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
261 localhost" \
262 1 \
263 -s "found psk key exchange modes extension" \
264 -s "found pre_shared_key extension" \
265 -s "Found PSK_EPHEMERAL KEX MODE" \
266 -s "Found PSK KEX MODE" \
267 -s "No matched PSK or ticket" \
268 -S "key exchange mode: psk$" \
269 -S "key exchange mode: psk_ephemeral" \
270 -S "key exchange mode: ephemeral"
271
272requires_gnutls_tls1_3
273requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200274requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800275run_test "TLS 1.3: G->m: all/psk, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800276 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800277 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
278 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
279 localhost" \
280 1 \
281 -s "found psk key exchange modes extension" \
282 -s "found pre_shared_key extension" \
283 -s "Found PSK_EPHEMERAL KEX MODE" \
284 -s "Found PSK KEX MODE" \
285 -s "Invalid binder." \
286 -S "key exchange mode: psk$" \
287 -S "key exchange mode: psk_ephemeral" \
288 -S "key exchange mode: ephemeral"
289
290requires_gnutls_tls1_3
291requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200292requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800293run_test "TLS 1.3: G->m: psk_or_ephemeral/psk, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800294 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800295 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
296 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
297 localhost" \
298 0 \
299 -s "found psk key exchange modes extension" \
300 -s "found pre_shared_key extension" \
301 -S "Found PSK_EPHEMERAL KEX MODE" \
302 -s "Found PSK KEX MODE" \
303 -s "Pre shared key found" \
304 -S "No matched PSK or ticket" \
305 -s "key exchange mode: psk$" \
306 -S "key exchange mode: psk_ephemeral" \
307 -S "key exchange mode: ephemeral"
308
309requires_gnutls_tls1_3
310requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200311requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800312run_test "TLS 1.3: G->m: psk_or_ephemeral/psk, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800313 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800314 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
315 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
316 localhost" \
317 1 \
318 -s "found psk key exchange modes extension" \
319 -s "found pre_shared_key extension" \
320 -S "Found PSK_EPHEMERAL KEX MODE" \
321 -s "Found PSK KEX MODE" \
322 -s "No matched PSK or ticket" \
323 -S "key exchange mode: psk$" \
324 -S "key exchange mode: psk_ephemeral" \
325 -S "key exchange mode: ephemeral"
326
327requires_gnutls_tls1_3
328requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200329requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800330run_test "TLS 1.3: G->m: psk_or_ephemeral/psk, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800331 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800332 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
333 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
334 localhost" \
335 1 \
336 -s "found psk key exchange modes extension" \
337 -s "found pre_shared_key extension" \
338 -S "Found PSK_EPHEMERAL KEX MODE" \
339 -s "Found PSK KEX MODE" \
340 -s "Invalid binder." \
341 -S "key exchange mode: psk$" \
342 -S "key exchange mode: psk_ephemeral" \
343 -S "key exchange mode: ephemeral"
344
345requires_gnutls_tls1_3
346requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200347requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800348run_test "TLS 1.3: G->m: ephemeral_all/psk_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800349 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800350 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
351 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
352 localhost" \
353 0 \
354 -s "found psk key exchange modes extension" \
355 -s "found pre_shared_key extension" \
356 -s "Found PSK_EPHEMERAL KEX MODE" \
357 -S "Found PSK KEX MODE" \
358 -s "Pre shared key found" \
359 -S "No matched PSK or ticket" \
360 -S "key exchange mode: psk$" \
361 -s "key exchange mode: psk_ephemeral" \
362 -S "key exchange mode: ephemeral"
363
364requires_gnutls_tls1_3
365requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200366requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800367run_test "TLS 1.3: G->m: ephemeral_all/psk_ephemeral, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800368 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800369 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
370 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
371 localhost" \
372 1 \
373 -s "found psk key exchange modes extension" \
374 -s "found pre_shared_key extension" \
375 -s "Found PSK_EPHEMERAL KEX MODE" \
376 -S "Found PSK KEX MODE" \
377 -s "No matched PSK or ticket" \
378 -S "key exchange mode: psk$" \
379 -S "key exchange mode: psk_ephemeral" \
380 -S "key exchange mode: ephemeral"
381
382requires_gnutls_tls1_3
383requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200384requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800385run_test "TLS 1.3: G->m: ephemeral_all/psk_ephemeral, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800386 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800387 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
388 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
389 localhost" \
390 1 \
391 -s "found psk key exchange modes extension" \
392 -s "found pre_shared_key extension" \
393 -s "Found PSK_EPHEMERAL KEX MODE" \
394 -S "Found PSK KEX MODE" \
395 -s "Invalid binder." \
396 -S "key exchange mode: psk$" \
397 -S "key exchange mode: psk_ephemeral" \
398 -S "key exchange mode: ephemeral"
399
400requires_gnutls_tls1_3
401requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200402requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800403run_test "TLS 1.3: G->m: all/psk_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800404 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800405 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
406 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
407 localhost" \
408 0 \
409 -s "found psk key exchange modes extension" \
410 -s "found pre_shared_key extension" \
411 -s "Found PSK_EPHEMERAL KEX MODE" \
412 -s "Found PSK KEX MODE" \
413 -s "Pre shared key found" \
414 -S "No matched PSK or ticket" \
415 -S "key exchange mode: psk$" \
416 -s "key exchange mode: psk_ephemeral" \
417 -S "key exchange mode: ephemeral"
418
419requires_gnutls_tls1_3
420requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200421requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800422run_test "TLS 1.3: G->m: all/psk_ephemeral, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800423 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800424 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
425 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
426 localhost" \
427 1 \
428 -s "found psk key exchange modes extension" \
429 -s "found pre_shared_key extension" \
430 -s "Found PSK_EPHEMERAL KEX MODE" \
431 -s "Found PSK KEX MODE" \
432 -s "No matched PSK or ticket" \
433 -S "key exchange mode: psk$" \
434 -S "key exchange mode: psk_ephemeral" \
435 -S "key exchange mode: ephemeral"
436
437requires_gnutls_tls1_3
438requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200439requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800440run_test "TLS 1.3: G->m: all/psk_ephemeral, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800441 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800442 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
443 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
444 localhost" \
445 1 \
446 -s "found psk key exchange modes extension" \
447 -s "found pre_shared_key extension" \
448 -s "Found PSK_EPHEMERAL KEX MODE" \
449 -s "Found PSK KEX MODE" \
450 -s "Invalid binder." \
451 -S "key exchange mode: psk$" \
452 -S "key exchange mode: psk_ephemeral" \
453 -S "key exchange mode: ephemeral"
454
455requires_gnutls_tls1_3
456requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200457requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800458run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_ephemeral, fail, no common kex mode" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800459 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800460 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
461 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
462 localhost" \
463 1 \
464 -s "found psk key exchange modes extension" \
465 -s "found pre_shared_key extension" \
466 -S "Found PSK_EPHEMERAL KEX MODE" \
467 -s "Found PSK KEX MODE" \
468 -S "key exchange mode: psk$" \
469 -S "key exchange mode: psk_ephemeral" \
470 -S "key exchange mode: ephemeral"
471
472requires_gnutls_tls1_3
473requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200474requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
475requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800476run_test "TLS 1.3: G->m: ephemeral_all/psk_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800477 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800478 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
479 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
480 localhost" \
481 0 \
482 -s "found psk key exchange modes extension" \
483 -s "found pre_shared_key extension" \
484 -s "Found PSK_EPHEMERAL KEX MODE" \
485 -S "Found PSK KEX MODE" \
486 -s "Pre shared key found" \
487 -S "No matched PSK or ticket" \
488 -S "key exchange mode: psk$" \
489 -s "key exchange mode: psk_ephemeral" \
490 -S "key exchange mode: ephemeral"
491
492requires_gnutls_tls1_3
493requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200494requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
495requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800496run_test "TLS 1.3: G->m: ephemeral_all/psk_all, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800497 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800498 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
499 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
500 localhost" \
501 1 \
502 -s "found psk key exchange modes extension" \
503 -s "found pre_shared_key extension" \
504 -s "Found PSK_EPHEMERAL KEX MODE" \
505 -S "Found PSK KEX MODE" \
506 -s "No matched PSK or ticket" \
507 -S "key exchange mode: psk$" \
508 -S "key exchange mode: psk_ephemeral" \
509 -S "key exchange mode: ephemeral"
510
511requires_gnutls_tls1_3
512requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200513requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
514requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800515run_test "TLS 1.3: G->m: ephemeral_all/psk_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800516 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800517 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
518 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
519 localhost" \
520 1 \
521 -s "found psk key exchange modes extension" \
522 -s "found pre_shared_key extension" \
523 -s "Found PSK_EPHEMERAL KEX MODE" \
524 -S "Found PSK KEX MODE" \
525 -s "Invalid binder." \
526 -S "key exchange mode: psk$" \
527 -S "key exchange mode: psk_ephemeral" \
528 -S "key exchange mode: ephemeral"
529
530requires_gnutls_tls1_3
531requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200532requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
533requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800534run_test "TLS 1.3: G->m: all/psk_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800535 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800536 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
537 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
538 localhost" \
539 0 \
540 -s "found psk key exchange modes extension" \
541 -s "found pre_shared_key extension" \
542 -s "Found PSK_EPHEMERAL KEX MODE" \
543 -s "Found PSK KEX MODE" \
544 -s "Pre shared key found" \
545 -S "No matched PSK or ticket" \
546 -S "key exchange mode: psk$" \
547 -s "key exchange mode: psk_ephemeral" \
548 -S "key exchange mode: ephemeral"
549
550requires_gnutls_tls1_3
551requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200552requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
553requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800554run_test "TLS 1.3: G->m: all/psk_all, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800555 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800556 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
557 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
558 localhost" \
559 1 \
560 -s "found psk key exchange modes extension" \
561 -s "found pre_shared_key extension" \
562 -s "Found PSK_EPHEMERAL KEX MODE" \
563 -s "Found PSK KEX MODE" \
564 -s "No matched PSK or ticket" \
565 -S "key exchange mode: psk$" \
566 -S "key exchange mode: psk_ephemeral" \
567 -S "key exchange mode: ephemeral"
568
569requires_gnutls_tls1_3
570requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200571requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
572requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800573run_test "TLS 1.3: G->m: all/psk_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800574 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800575 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
576 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
577 localhost" \
578 1 \
579 -s "found psk key exchange modes extension" \
580 -s "found pre_shared_key extension" \
581 -s "Found PSK_EPHEMERAL KEX MODE" \
582 -s "Found PSK KEX MODE" \
583 -s "Invalid binder." \
584 -S "key exchange mode: psk$" \
585 -S "key exchange mode: psk_ephemeral" \
586 -S "key exchange mode: ephemeral"
587
588requires_gnutls_tls1_3
589requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200590requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
591requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800592run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800593 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800594 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
595 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
596 localhost" \
597 0 \
598 -s "found psk key exchange modes extension" \
599 -s "found pre_shared_key extension" \
600 -S "Found PSK_EPHEMERAL KEX MODE" \
601 -s "Found PSK KEX MODE" \
602 -s "Pre shared key found" \
603 -S "No matched PSK or ticket" \
604 -s "key exchange mode: psk$" \
605 -S "key exchange mode: psk_ephemeral" \
606 -S "key exchange mode: ephemeral"
607
608requires_gnutls_tls1_3
609requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200610requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
611requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800612run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_all, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800613 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800614 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
615 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
616 localhost" \
617 1 \
618 -s "found psk key exchange modes extension" \
619 -s "found pre_shared_key extension" \
620 -S "Found PSK_EPHEMERAL KEX MODE" \
621 -s "Found PSK KEX MODE" \
622 -s "No matched PSK or ticket" \
623 -S "key exchange mode: psk$" \
624 -S "key exchange mode: psk_ephemeral" \
625 -S "key exchange mode: ephemeral"
626
627requires_gnutls_tls1_3
628requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200629requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
630requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800631run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800632 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800633 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
634 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
635 localhost" \
636 1 \
637 -s "found psk key exchange modes extension" \
638 -s "found pre_shared_key extension" \
639 -S "Found PSK_EPHEMERAL KEX MODE" \
640 -s "Found PSK KEX MODE" \
641 -s "Invalid binder." \
642 -S "key exchange mode: psk$" \
643 -S "key exchange mode: psk_ephemeral" \
644 -S "key exchange mode: ephemeral"
645
646requires_gnutls_tls1_3
647requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200648requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
649requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800650run_test "TLS 1.3: G->m: ephemeral_all/ephemeral_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800651 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800652 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
653 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
654 localhost" \
655 0 \
656 -s "found psk key exchange modes extension" \
657 -s "found pre_shared_key extension" \
658 -s "Found PSK_EPHEMERAL KEX MODE" \
659 -S "Found PSK KEX MODE" \
660 -s "Pre shared key found" \
661 -S "No matched PSK or ticket" \
662 -S "key exchange mode: psk$" \
663 -s "key exchange mode: psk_ephemeral" \
664 -S "key exchange mode: ephemeral"
665
666requires_gnutls_tls1_3
667requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200668requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
669requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800670run_test "TLS 1.3: G->m: ephemeral_all/ephemeral_all, good, key id mismatch, dhe." \
Jerry Yu673b0f92022-09-14 15:02:21 +0800671 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800672 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
673 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
674 localhost" \
675 0 \
676 -s "found psk key exchange modes extension" \
677 -s "found pre_shared_key extension" \
678 -s "Found PSK_EPHEMERAL KEX MODE" \
679 -S "Found PSK KEX MODE" \
680 -s "No matched PSK or ticket" \
681 -S "key exchange mode: psk$" \
682 -S "key exchange mode: psk_ephemeral" \
683 -s "key exchange mode: ephemeral"
684
685requires_gnutls_tls1_3
686requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200687requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
688requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800689run_test "TLS 1.3: G->m: ephemeral_all/ephemeral_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800690 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800691 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
692 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
693 localhost" \
694 1 \
695 -s "found psk key exchange modes extension" \
696 -s "found pre_shared_key extension" \
697 -s "Found PSK_EPHEMERAL KEX MODE" \
698 -S "Found PSK KEX MODE" \
699 -s "Invalid binder." \
700 -S "key exchange mode: psk$" \
701 -S "key exchange mode: psk_ephemeral" \
702 -S "key exchange mode: ephemeral"
703
704requires_gnutls_tls1_3
705requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200706requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
707requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800708run_test "TLS 1.3: G->m: all/ephemeral_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800709 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800710 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
711 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
712 localhost" \
713 0 \
714 -s "found psk key exchange modes extension" \
715 -s "found pre_shared_key extension" \
716 -s "Found PSK_EPHEMERAL KEX MODE" \
717 -s "Found PSK KEX MODE" \
718 -s "Pre shared key found" \
719 -S "No matched PSK or ticket" \
720 -S "key exchange mode: psk$" \
721 -s "key exchange mode: psk_ephemeral" \
722 -S "key exchange mode: ephemeral"
723
724requires_gnutls_tls1_3
725requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200726requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
727requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800728run_test "TLS 1.3: G->m: all/ephemeral_all, good, key id mismatch, dhe." \
Jerry Yu673b0f92022-09-14 15:02:21 +0800729 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800730 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
731 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
732 localhost" \
733 0 \
734 -s "found psk key exchange modes extension" \
735 -s "found pre_shared_key extension" \
736 -s "Found PSK_EPHEMERAL KEX MODE" \
737 -s "Found PSK KEX MODE" \
738 -s "No matched PSK or ticket" \
739 -S "key exchange mode: psk$" \
740 -S "key exchange mode: psk_ephemeral" \
741 -s "key exchange mode: ephemeral"
742
743requires_gnutls_tls1_3
744requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200745requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
746requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800747run_test "TLS 1.3: G->m: all/ephemeral_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800748 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800749 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
750 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
751 localhost" \
752 1 \
753 -s "found psk key exchange modes extension" \
754 -s "found pre_shared_key extension" \
755 -s "Found PSK_EPHEMERAL KEX MODE" \
756 -s "Found PSK KEX MODE" \
757 -s "Invalid binder." \
758 -S "key exchange mode: psk$" \
759 -S "key exchange mode: psk_ephemeral" \
760 -S "key exchange mode: ephemeral"
761
762requires_gnutls_tls1_3
763requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200764requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
765requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800766run_test "TLS 1.3: G->m: psk_or_ephemeral/ephemeral_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800767 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800768 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
769 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
770 localhost" \
771 0 \
772 -s "found psk key exchange modes extension" \
773 -s "found pre_shared_key extension" \
774 -S "Found PSK_EPHEMERAL KEX MODE" \
775 -s "Found PSK KEX MODE" \
776 -s "Pre shared key found" \
777 -S "No matched PSK or ticket" \
778 -S "key exchange mode: psk$" \
779 -S "key exchange mode: psk_ephemeral" \
780 -s "key exchange mode: ephemeral"
781
782requires_gnutls_tls1_3
783requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200784requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
785requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
786requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800787run_test "TLS 1.3: G->m: ephemeral_all/all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800788 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800789 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
790 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
791 localhost" \
792 0 \
793 -s "found psk key exchange modes extension" \
794 -s "found pre_shared_key extension" \
795 -s "Found PSK_EPHEMERAL KEX MODE" \
796 -S "Found PSK KEX MODE" \
797 -s "Pre shared key found" \
798 -S "No matched PSK or ticket" \
799 -S "key exchange mode: psk$" \
800 -s "key exchange mode: psk_ephemeral" \
801 -S "key exchange mode: ephemeral"
802
803requires_gnutls_tls1_3
804requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200805requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
806requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
807requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800808run_test "TLS 1.3: G->m: ephemeral_all/all, good, key id mismatch, dhe." \
Jerry Yu673b0f92022-09-14 15:02:21 +0800809 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800810 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
811 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
812 localhost" \
813 0 \
814 -s "found psk key exchange modes extension" \
815 -s "found pre_shared_key extension" \
816 -s "Found PSK_EPHEMERAL KEX MODE" \
817 -S "Found PSK KEX MODE" \
818 -s "No matched PSK or ticket" \
819 -S "key exchange mode: psk$" \
820 -S "key exchange mode: psk_ephemeral" \
821 -s "key exchange mode: ephemeral"
822
823requires_gnutls_tls1_3
824requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200825requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
826requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
827requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800828run_test "TLS 1.3: G->m: ephemeral_all/all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800829 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800830 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
831 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
832 localhost" \
833 1 \
834 -s "found psk key exchange modes extension" \
835 -s "found pre_shared_key extension" \
836 -s "Found PSK_EPHEMERAL KEX MODE" \
837 -S "Found PSK KEX MODE" \
838 -s "Invalid binder." \
839 -S "key exchange mode: psk$" \
840 -S "key exchange mode: psk_ephemeral" \
841 -S "key exchange mode: ephemeral"
842
843requires_gnutls_tls1_3
844requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200845requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
846requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
847requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800848run_test "TLS 1.3: G->m: all/all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800849 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800850 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
851 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
852 localhost" \
853 0 \
854 -s "found psk key exchange modes extension" \
855 -s "found pre_shared_key extension" \
856 -s "Found PSK_EPHEMERAL KEX MODE" \
857 -s "Found PSK KEX MODE" \
858 -s "Pre shared key found" \
859 -S "No matched PSK or ticket" \
860 -S "key exchange mode: psk$" \
861 -s "key exchange mode: psk_ephemeral" \
862 -S "key exchange mode: ephemeral"
863
864requires_gnutls_tls1_3
865requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200866requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
867requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
868requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800869run_test "TLS 1.3: G->m: all/all, good, key id mismatch, dhe." \
Jerry Yu673b0f92022-09-14 15:02:21 +0800870 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800871 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
872 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
873 localhost" \
874 0 \
875 -s "found psk key exchange modes extension" \
876 -s "found pre_shared_key extension" \
877 -s "Found PSK_EPHEMERAL KEX MODE" \
878 -s "Found PSK KEX MODE" \
879 -s "No matched PSK or ticket" \
880 -S "key exchange mode: psk$" \
881 -S "key exchange mode: psk_ephemeral" \
882 -s "key exchange mode: ephemeral"
883
884requires_gnutls_tls1_3
885requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200886requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
887requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
888requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800889run_test "TLS 1.3: G->m: all/all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800890 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800891 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
892 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
893 localhost" \
894 1 \
895 -s "found psk key exchange modes extension" \
896 -s "found pre_shared_key extension" \
897 -s "Found PSK_EPHEMERAL KEX MODE" \
898 -s "Found PSK KEX MODE" \
899 -s "Invalid binder." \
900 -S "key exchange mode: psk$" \
901 -S "key exchange mode: psk_ephemeral" \
902 -S "key exchange mode: ephemeral"
903
904requires_gnutls_tls1_3
905requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200906requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
907requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
908requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800909run_test "TLS 1.3: G->m: psk_or_ephemeral/all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800910 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800911 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
912 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
913 localhost" \
914 0 \
915 -s "found psk key exchange modes extension" \
916 -s "found pre_shared_key extension" \
917 -S "Found PSK_EPHEMERAL KEX MODE" \
918 -s "Found PSK KEX MODE" \
919 -s "Pre shared key found" \
920 -S "No matched PSK or ticket" \
921 -S "key exchange mode: psk$" \
922 -S "key exchange mode: psk_ephemeral" \
923 -s "key exchange mode: ephemeral"
924
925requires_gnutls_tls1_3
926requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200927requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
928requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
929requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800930run_test "TLS 1.3: G->m: psk_or_ephemeral/all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800931 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800932 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
933 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
934 localhost" \
935 1 \
936 -s "found psk key exchange modes extension" \
937 -s "found pre_shared_key extension" \
938 -S "Found PSK_EPHEMERAL KEX MODE" \
939 -s "Found PSK KEX MODE" \
940 -s "Invalid binder." \
941 -S "key exchange mode: psk$" \
942 -S "key exchange mode: psk_ephemeral" \
943 -S "key exchange mode: ephemeral"
944
945requires_gnutls_tls1_3
946requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200947requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
948requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800949run_test "TLS 1.3: G->m: ephemeral_all/psk_or_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800950 "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800951 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
952 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
953 localhost" \
954 0 \
955 -s "found psk key exchange modes extension" \
956 -s "found pre_shared_key extension" \
957 -s "Found PSK_EPHEMERAL KEX MODE" \
958 -S "Found PSK KEX MODE" \
959 -s "Pre shared key found" \
960 -S "No matched PSK or ticket" \
961 -S "key exchange mode: psk$" \
962 -S "key exchange mode: psk_ephemeral" \
963 -s "key exchange mode: ephemeral"
964
965requires_gnutls_tls1_3
966requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200967requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
968requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800969run_test "TLS 1.3: G->m: all/psk_or_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800970 "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800971 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
972 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
973 localhost" \
974 0 \
975 -s "found psk key exchange modes extension" \
976 -s "found pre_shared_key extension" \
977 -s "Found PSK_EPHEMERAL KEX MODE" \
978 -s "Found PSK KEX MODE" \
979 -s "Pre shared key found" \
980 -S "No matched PSK or ticket" \
981 -S "key exchange mode: psk$" \
982 -S "key exchange mode: psk_ephemeral" \
983 -s "key exchange mode: ephemeral"
984
985requires_gnutls_tls1_3
986requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +0200987requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
988requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800989run_test "TLS 1.3: G->m: all/psk_or_ephemeral, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800990 "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800991 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
992 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
993 localhost" \
994 1 \
995 -s "found psk key exchange modes extension" \
996 -s "found pre_shared_key extension" \
997 -s "Found PSK_EPHEMERAL KEX MODE" \
998 -s "Found PSK KEX MODE" \
999 -s "Invalid binder." \
1000 -S "key exchange mode: psk$" \
1001 -S "key exchange mode: psk_ephemeral" \
1002 -S "key exchange mode: ephemeral"
1003
1004requires_gnutls_tls1_3
1005requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001006requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1007requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +08001008run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_or_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001009 "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001010 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
1011 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
1012 localhost" \
1013 0 \
1014 -s "found psk key exchange modes extension" \
1015 -s "found pre_shared_key extension" \
1016 -S "Found PSK_EPHEMERAL KEX MODE" \
1017 -s "Found PSK KEX MODE" \
1018 -s "Pre shared key found" \
1019 -S "No matched PSK or ticket" \
1020 -S "key exchange mode: psk$" \
1021 -S "key exchange mode: psk_ephemeral" \
1022 -s "key exchange mode: ephemeral"
1023
1024requires_gnutls_tls1_3
1025requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001026requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1027requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +08001028run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_or_ephemeral, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001029 "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001030 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
1031 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
1032 localhost" \
1033 1 \
1034 -s "found psk key exchange modes extension" \
1035 -s "found pre_shared_key extension" \
1036 -S "Found PSK_EPHEMERAL KEX MODE" \
1037 -s "Found PSK KEX MODE" \
1038 -s "Invalid binder." \
1039 -S "key exchange mode: psk$" \
1040 -S "key exchange mode: psk_ephemeral" \
1041 -S "key exchange mode: ephemeral"
1042
Jerry Yu58af2332022-09-06 11:19:31 +08001043requires_gnutls_tls1_3
1044requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001045requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu58af2332022-09-06 11:19:31 +08001046run_test "TLS 1.3: G->m: psk_ephemeral group(secp256r1) check, good" \
1047 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
1048 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1 \
1049 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
1050 localhost" \
1051 0 \
1052 -s "write selected_group: secp256r1" \
1053 -S "key exchange mode: psk$" \
1054 -s "key exchange mode: psk_ephemeral" \
1055 -S "key exchange mode: ephemeral"
1056
1057requires_gnutls_tls1_3
1058requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001059requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu58af2332022-09-06 11:19:31 +08001060run_test "TLS 1.3: G->m: psk_ephemeral group(secp384r1) check, good" \
1061 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
1062 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP384R1 \
1063 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
1064 localhost" \
1065 0 \
1066 -s "write selected_group: secp384r1" \
1067 -S "key exchange mode: psk$" \
1068 -s "key exchange mode: psk_ephemeral" \
1069 -S "key exchange mode: ephemeral"
1070
1071requires_gnutls_tls1_3
1072requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001073requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu58af2332022-09-06 11:19:31 +08001074run_test "TLS 1.3: G->m: psk_ephemeral group(secp521r1) check, good" \
1075 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
1076 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP521R1 \
1077 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
1078 localhost" \
1079 0 \
1080 -s "write selected_group: secp521r1" \
1081 -S "key exchange mode: psk$" \
1082 -s "key exchange mode: psk_ephemeral" \
1083 -S "key exchange mode: ephemeral"
1084
1085requires_gnutls_tls1_3
1086requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001087requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu58af2332022-09-06 11:19:31 +08001088run_test "TLS 1.3: G->m: psk_ephemeral group(x25519) check, good" \
1089 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
1090 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519 \
1091 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
1092 localhost" \
1093 0 \
1094 -s "write selected_group: x25519" \
1095 -S "key exchange mode: psk$" \
1096 -s "key exchange mode: psk_ephemeral" \
1097 -S "key exchange mode: ephemeral"
1098
1099requires_gnutls_tls1_3
1100requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001101requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu58af2332022-09-06 11:19:31 +08001102run_test "TLS 1.3: G->m: psk_ephemeral group(x448) check, good" \
1103 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
1104 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X448 \
1105 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
1106 localhost" \
1107 0 \
1108 -s "write selected_group: x448" \
1109 -S "key exchange mode: psk$" \
1110 -s "key exchange mode: psk_ephemeral" \
1111 -S "key exchange mode: ephemeral"
1112
Jerry Yue7b4b582022-08-25 17:53:13 +08001113requires_openssl_tls1_3
1114requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001115requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001116run_test "TLS 1.3: O->m: ephemeral_all/psk, fail, no common kex mode" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001117 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001118 "$O_NEXT_CLI -tls1_3 -msg \
1119 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1120 1 \
1121 -s "found psk key exchange modes extension" \
1122 -s "found pre_shared_key extension" \
1123 -s "Found PSK_EPHEMERAL KEX MODE" \
1124 -S "Found PSK KEX MODE" \
1125 -S "key exchange mode: psk$" \
1126 -S "key exchange mode: psk_ephemeral" \
1127 -S "key exchange mode: ephemeral"
1128
1129requires_openssl_tls1_3
1130requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001131requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001132run_test "TLS 1.3: O->m: all/psk, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001133 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001134 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1135 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1136 0 \
1137 -s "found psk key exchange modes extension" \
1138 -s "found pre_shared_key extension" \
1139 -s "Found PSK_EPHEMERAL KEX MODE" \
1140 -s "Found PSK KEX MODE" \
1141 -s "Pre shared key found" \
1142 -S "No matched PSK or ticket" \
1143 -s "key exchange mode: psk$" \
1144 -S "key exchange mode: psk_ephemeral" \
1145 -S "key exchange mode: ephemeral"
1146
1147requires_openssl_tls1_3
1148requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001149requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001150run_test "TLS 1.3: O->m: all/psk, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001151 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001152 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1153 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1154 1 \
1155 -s "found psk key exchange modes extension" \
1156 -s "found pre_shared_key extension" \
1157 -s "Found PSK_EPHEMERAL KEX MODE" \
1158 -s "Found PSK KEX MODE" \
1159 -s "No matched PSK or ticket" \
1160 -S "key exchange mode: psk$" \
1161 -S "key exchange mode: psk_ephemeral" \
1162 -S "key exchange mode: ephemeral"
1163
1164requires_openssl_tls1_3
1165requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001166requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001167run_test "TLS 1.3: O->m: all/psk, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001168 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001169 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1170 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1171 1 \
1172 -s "found psk key exchange modes extension" \
1173 -s "found pre_shared_key extension" \
1174 -s "Found PSK_EPHEMERAL KEX MODE" \
1175 -s "Found PSK KEX MODE" \
1176 -s "Invalid binder." \
1177 -S "key exchange mode: psk$" \
1178 -S "key exchange mode: psk_ephemeral" \
1179 -S "key exchange mode: ephemeral"
1180
1181requires_openssl_tls1_3
1182requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001183requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001184run_test "TLS 1.3: O->m: ephemeral_all/psk_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001185 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001186 "$O_NEXT_CLI -tls1_3 -msg \
1187 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1188 0 \
1189 -s "found psk key exchange modes extension" \
1190 -s "found pre_shared_key extension" \
1191 -s "Found PSK_EPHEMERAL KEX MODE" \
1192 -S "Found PSK KEX MODE" \
1193 -s "Pre shared key found" \
1194 -S "No matched PSK or ticket" \
1195 -S "key exchange mode: psk$" \
1196 -s "key exchange mode: psk_ephemeral" \
1197 -S "key exchange mode: ephemeral"
1198
1199requires_openssl_tls1_3
1200requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001201requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001202run_test "TLS 1.3: O->m: ephemeral_all/psk_ephemeral, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001203 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001204 "$O_NEXT_CLI -tls1_3 -msg \
1205 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1206 1 \
1207 -s "found psk key exchange modes extension" \
1208 -s "found pre_shared_key extension" \
1209 -s "Found PSK_EPHEMERAL KEX MODE" \
1210 -S "Found PSK KEX MODE" \
1211 -s "No matched PSK or ticket" \
1212 -S "key exchange mode: psk$" \
1213 -S "key exchange mode: psk_ephemeral" \
1214 -S "key exchange mode: ephemeral"
1215
1216requires_openssl_tls1_3
1217requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001218requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001219run_test "TLS 1.3: O->m: ephemeral_all/psk_ephemeral, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001220 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001221 "$O_NEXT_CLI -tls1_3 -msg \
1222 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1223 1 \
1224 -s "found psk key exchange modes extension" \
1225 -s "found pre_shared_key extension" \
1226 -s "Found PSK_EPHEMERAL KEX MODE" \
1227 -S "Found PSK KEX MODE" \
1228 -s "Invalid binder." \
1229 -S "key exchange mode: psk$" \
1230 -S "key exchange mode: psk_ephemeral" \
1231 -S "key exchange mode: ephemeral"
1232
1233requires_openssl_tls1_3
1234requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001235requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001236run_test "TLS 1.3: O->m: all/psk_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001237 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001238 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1239 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1240 0 \
1241 -s "found psk key exchange modes extension" \
1242 -s "found pre_shared_key extension" \
1243 -s "Found PSK_EPHEMERAL KEX MODE" \
1244 -s "Found PSK KEX MODE" \
1245 -s "Pre shared key found" \
1246 -S "No matched PSK or ticket" \
1247 -S "key exchange mode: psk$" \
1248 -s "key exchange mode: psk_ephemeral" \
1249 -S "key exchange mode: ephemeral"
1250
1251requires_openssl_tls1_3
1252requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001253requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001254run_test "TLS 1.3: O->m: all/psk_ephemeral, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001255 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001256 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1257 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1258 1 \
1259 -s "found psk key exchange modes extension" \
1260 -s "found pre_shared_key extension" \
1261 -s "Found PSK_EPHEMERAL KEX MODE" \
1262 -s "Found PSK KEX MODE" \
1263 -s "No matched PSK or ticket" \
1264 -S "key exchange mode: psk$" \
1265 -S "key exchange mode: psk_ephemeral" \
1266 -S "key exchange mode: ephemeral"
1267
1268requires_openssl_tls1_3
1269requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001270requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001271run_test "TLS 1.3: O->m: all/psk_ephemeral, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001272 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001273 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1274 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1275 1 \
1276 -s "found psk key exchange modes extension" \
1277 -s "found pre_shared_key extension" \
1278 -s "Found PSK_EPHEMERAL KEX MODE" \
1279 -s "Found PSK KEX MODE" \
1280 -s "Invalid binder." \
1281 -S "key exchange mode: psk$" \
1282 -S "key exchange mode: psk_ephemeral" \
1283 -S "key exchange mode: ephemeral"
1284
1285requires_openssl_tls1_3
1286requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001287requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1288requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001289run_test "TLS 1.3: O->m: ephemeral_all/psk_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001290 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001291 "$O_NEXT_CLI -tls1_3 -msg \
1292 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1293 0 \
1294 -s "found psk key exchange modes extension" \
1295 -s "found pre_shared_key extension" \
1296 -s "Found PSK_EPHEMERAL KEX MODE" \
1297 -S "Found PSK KEX MODE" \
1298 -s "Pre shared key found" \
1299 -S "No matched PSK or ticket" \
1300 -S "key exchange mode: psk$" \
1301 -s "key exchange mode: psk_ephemeral" \
1302 -S "key exchange mode: ephemeral"
1303
1304requires_openssl_tls1_3
1305requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001306requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1307requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001308run_test "TLS 1.3: O->m: ephemeral_all/psk_all, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001309 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001310 "$O_NEXT_CLI -tls1_3 -msg \
1311 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1312 1 \
1313 -s "found psk key exchange modes extension" \
1314 -s "found pre_shared_key extension" \
1315 -s "Found PSK_EPHEMERAL KEX MODE" \
1316 -S "Found PSK KEX MODE" \
1317 -s "No matched PSK or ticket" \
1318 -S "key exchange mode: psk$" \
1319 -S "key exchange mode: psk_ephemeral" \
1320 -S "key exchange mode: ephemeral"
1321
1322requires_openssl_tls1_3
1323requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001324requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1325requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001326run_test "TLS 1.3: O->m: ephemeral_all/psk_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001327 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001328 "$O_NEXT_CLI -tls1_3 -msg \
1329 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1330 1 \
1331 -s "found psk key exchange modes extension" \
1332 -s "found pre_shared_key extension" \
1333 -s "Found PSK_EPHEMERAL KEX MODE" \
1334 -S "Found PSK KEX MODE" \
1335 -s "Invalid binder." \
1336 -S "key exchange mode: psk$" \
1337 -S "key exchange mode: psk_ephemeral" \
1338 -S "key exchange mode: ephemeral"
1339
1340requires_openssl_tls1_3
1341requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001342requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1343requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001344run_test "TLS 1.3: O->m: all/psk_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001345 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001346 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1347 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1348 0 \
1349 -s "found psk key exchange modes extension" \
1350 -s "found pre_shared_key extension" \
1351 -s "Found PSK_EPHEMERAL KEX MODE" \
1352 -s "Found PSK KEX MODE" \
1353 -s "Pre shared key found" \
1354 -S "No matched PSK or ticket" \
1355 -S "key exchange mode: psk$" \
1356 -s "key exchange mode: psk_ephemeral" \
1357 -S "key exchange mode: ephemeral"
1358
1359requires_openssl_tls1_3
1360requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001361requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1362requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001363run_test "TLS 1.3: O->m: all/psk_all, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001364 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001365 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1366 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1367 1 \
1368 -s "found psk key exchange modes extension" \
1369 -s "found pre_shared_key extension" \
1370 -s "Found PSK_EPHEMERAL KEX MODE" \
1371 -s "Found PSK KEX MODE" \
1372 -s "No matched PSK or ticket" \
1373 -S "key exchange mode: psk$" \
1374 -S "key exchange mode: psk_ephemeral" \
1375 -S "key exchange mode: ephemeral"
1376
1377requires_openssl_tls1_3
1378requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001379requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1380requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001381run_test "TLS 1.3: O->m: all/psk_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001382 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001383 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1384 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1385 1 \
1386 -s "found psk key exchange modes extension" \
1387 -s "found pre_shared_key extension" \
1388 -s "Found PSK_EPHEMERAL KEX MODE" \
1389 -s "Found PSK KEX MODE" \
1390 -s "Invalid binder." \
1391 -S "key exchange mode: psk$" \
1392 -S "key exchange mode: psk_ephemeral" \
1393 -S "key exchange mode: ephemeral"
1394
1395requires_openssl_tls1_3
1396requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001397requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
1398requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001399run_test "TLS 1.3: O->m: ephemeral_all/ephemeral_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001400 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001401 "$O_NEXT_CLI -tls1_3 -msg \
1402 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1403 0 \
1404 -s "found psk key exchange modes extension" \
1405 -s "found pre_shared_key extension" \
1406 -s "Found PSK_EPHEMERAL KEX MODE" \
1407 -S "Found PSK KEX MODE" \
1408 -s "Pre shared key found" \
1409 -S "No matched PSK or ticket" \
1410 -S "key exchange mode: psk$" \
1411 -s "key exchange mode: psk_ephemeral" \
1412 -S "key exchange mode: ephemeral"
1413
1414requires_openssl_tls1_3
1415requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001416requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
1417requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001418run_test "TLS 1.3: O->m: ephemeral_all/ephemeral_all, good, key id mismatch, dhe." \
Jerry Yu673b0f92022-09-14 15:02:21 +08001419 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001420 "$O_NEXT_CLI -tls1_3 -msg \
1421 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1422 0 \
1423 -s "found psk key exchange modes extension" \
1424 -s "found pre_shared_key extension" \
1425 -s "Found PSK_EPHEMERAL KEX MODE" \
1426 -S "Found PSK KEX MODE" \
1427 -s "No matched PSK or ticket" \
1428 -S "key exchange mode: psk$" \
1429 -S "key exchange mode: psk_ephemeral" \
1430 -s "key exchange mode: ephemeral"
1431
1432requires_openssl_tls1_3
1433requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001434requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
1435requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001436run_test "TLS 1.3: O->m: ephemeral_all/ephemeral_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001437 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001438 "$O_NEXT_CLI -tls1_3 -msg \
1439 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1440 1 \
1441 -s "found psk key exchange modes extension" \
1442 -s "found pre_shared_key extension" \
1443 -s "Found PSK_EPHEMERAL KEX MODE" \
1444 -S "Found PSK KEX MODE" \
1445 -s "Invalid binder." \
1446 -S "key exchange mode: psk$" \
1447 -S "key exchange mode: psk_ephemeral" \
1448 -S "key exchange mode: ephemeral"
1449
1450requires_openssl_tls1_3
1451requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001452requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
1453requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001454run_test "TLS 1.3: O->m: all/ephemeral_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001455 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001456 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1457 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1458 0 \
1459 -s "found psk key exchange modes extension" \
1460 -s "found pre_shared_key extension" \
1461 -s "Found PSK_EPHEMERAL KEX MODE" \
1462 -s "Found PSK KEX MODE" \
1463 -s "Pre shared key found" \
1464 -S "No matched PSK or ticket" \
1465 -S "key exchange mode: psk$" \
1466 -s "key exchange mode: psk_ephemeral" \
1467 -S "key exchange mode: ephemeral"
1468
1469requires_openssl_tls1_3
1470requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001471requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
1472requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001473run_test "TLS 1.3: O->m: all/ephemeral_all, good, key id mismatch, dhe." \
Jerry Yu673b0f92022-09-14 15:02:21 +08001474 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001475 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1476 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1477 0 \
1478 -s "found psk key exchange modes extension" \
1479 -s "found pre_shared_key extension" \
1480 -s "Found PSK_EPHEMERAL KEX MODE" \
1481 -s "Found PSK KEX MODE" \
1482 -s "No matched PSK or ticket" \
1483 -S "key exchange mode: psk$" \
1484 -S "key exchange mode: psk_ephemeral" \
1485 -s "key exchange mode: ephemeral"
1486
1487requires_openssl_tls1_3
1488requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001489requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
1490requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001491run_test "TLS 1.3: O->m: all/ephemeral_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001492 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001493 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1494 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1495 1 \
1496 -s "found psk key exchange modes extension" \
1497 -s "found pre_shared_key extension" \
1498 -s "Found PSK_EPHEMERAL KEX MODE" \
1499 -s "Found PSK KEX MODE" \
1500 -s "Invalid binder." \
1501 -S "key exchange mode: psk$" \
1502 -S "key exchange mode: psk_ephemeral" \
1503 -S "key exchange mode: ephemeral"
1504
1505requires_openssl_tls1_3
1506requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001507requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1508requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
1509requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001510run_test "TLS 1.3: O->m: ephemeral_all/all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001511 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001512 "$O_NEXT_CLI -tls1_3 -msg \
1513 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1514 0 \
1515 -s "found psk key exchange modes extension" \
1516 -s "found pre_shared_key extension" \
1517 -s "Found PSK_EPHEMERAL KEX MODE" \
1518 -S "Found PSK KEX MODE" \
1519 -s "Pre shared key found" \
1520 -S "No matched PSK or ticket" \
1521 -S "key exchange mode: psk$" \
1522 -s "key exchange mode: psk_ephemeral" \
1523 -S "key exchange mode: ephemeral"
1524
1525requires_openssl_tls1_3
1526requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001527requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1528requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
1529requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001530run_test "TLS 1.3: O->m: ephemeral_all/all, good, key id mismatch, dhe." \
Jerry Yu673b0f92022-09-14 15:02:21 +08001531 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001532 "$O_NEXT_CLI -tls1_3 -msg \
1533 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1534 0 \
1535 -s "found psk key exchange modes extension" \
1536 -s "found pre_shared_key extension" \
1537 -s "Found PSK_EPHEMERAL KEX MODE" \
1538 -S "Found PSK KEX MODE" \
1539 -s "No matched PSK or ticket" \
1540 -S "key exchange mode: psk$" \
1541 -S "key exchange mode: psk_ephemeral" \
1542 -s "key exchange mode: ephemeral"
1543
1544requires_openssl_tls1_3
1545requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001546requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1547requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
1548requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001549run_test "TLS 1.3: O->m: ephemeral_all/all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001550 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001551 "$O_NEXT_CLI -tls1_3 -msg \
1552 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1553 1 \
1554 -s "found psk key exchange modes extension" \
1555 -s "found pre_shared_key extension" \
1556 -s "Found PSK_EPHEMERAL KEX MODE" \
1557 -S "Found PSK KEX MODE" \
1558 -s "Invalid binder." \
1559 -S "key exchange mode: psk$" \
1560 -S "key exchange mode: psk_ephemeral" \
1561 -S "key exchange mode: ephemeral"
1562
1563requires_openssl_tls1_3
1564requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001565requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1566requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
1567requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001568run_test "TLS 1.3: O->m: all/all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001569 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001570 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1571 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1572 0 \
1573 -s "found psk key exchange modes extension" \
1574 -s "found pre_shared_key extension" \
1575 -s "Found PSK_EPHEMERAL KEX MODE" \
1576 -s "Found PSK KEX MODE" \
1577 -s "Pre shared key found" \
1578 -S "No matched PSK or ticket" \
1579 -S "key exchange mode: psk$" \
1580 -s "key exchange mode: psk_ephemeral" \
1581 -S "key exchange mode: ephemeral"
1582
1583requires_openssl_tls1_3
1584requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001585requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1586requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
1587requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001588run_test "TLS 1.3: O->m: all/all, good, key id mismatch, dhe." \
Jerry Yu673b0f92022-09-14 15:02:21 +08001589 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001590 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1591 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1592 0 \
1593 -s "found psk key exchange modes extension" \
1594 -s "found pre_shared_key extension" \
1595 -s "Found PSK_EPHEMERAL KEX MODE" \
1596 -s "Found PSK KEX MODE" \
1597 -s "No matched PSK or ticket" \
1598 -S "key exchange mode: psk$" \
1599 -S "key exchange mode: psk_ephemeral" \
1600 -s "key exchange mode: ephemeral"
1601
1602requires_openssl_tls1_3
1603requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001604requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1605requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
1606requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001607run_test "TLS 1.3: O->m: all/all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001608 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001609 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1610 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1611 1 \
1612 -s "found psk key exchange modes extension" \
1613 -s "found pre_shared_key extension" \
1614 -s "Found PSK_EPHEMERAL KEX MODE" \
1615 -s "Found PSK KEX MODE" \
1616 -s "Invalid binder." \
1617 -S "key exchange mode: psk$" \
1618 -S "key exchange mode: psk_ephemeral" \
1619 -S "key exchange mode: ephemeral"
1620
1621requires_openssl_tls1_3
1622requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001623requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1624requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001625run_test "TLS 1.3: O->m: ephemeral_all/psk_or_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001626 "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001627 "$O_NEXT_CLI -tls1_3 -msg \
1628 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1629 0 \
1630 -s "found psk key exchange modes extension" \
1631 -s "found pre_shared_key extension" \
1632 -s "Found PSK_EPHEMERAL KEX MODE" \
1633 -S "Found PSK KEX MODE" \
1634 -s "Pre shared key found" \
1635 -S "No matched PSK or ticket" \
1636 -S "key exchange mode: psk$" \
1637 -S "key exchange mode: psk_ephemeral" \
1638 -s "key exchange mode: ephemeral"
1639
1640requires_openssl_tls1_3
1641requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001642requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1643requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001644run_test "TLS 1.3: O->m: all/psk_or_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001645 "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001646 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1647 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1648 0 \
1649 -s "found psk key exchange modes extension" \
1650 -s "found pre_shared_key extension" \
1651 -s "Found PSK_EPHEMERAL KEX MODE" \
1652 -s "Found PSK KEX MODE" \
1653 -s "Pre shared key found" \
1654 -S "No matched PSK or ticket" \
1655 -S "key exchange mode: psk$" \
1656 -S "key exchange mode: psk_ephemeral" \
1657 -s "key exchange mode: ephemeral"
1658
1659requires_openssl_tls1_3
1660requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001661requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1662requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001663run_test "TLS 1.3: O->m: all/psk_or_ephemeral, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001664 "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001665 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1666 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1667 1 \
1668 -s "found psk key exchange modes extension" \
1669 -s "found pre_shared_key extension" \
1670 -s "Found PSK_EPHEMERAL KEX MODE" \
1671 -s "Found PSK KEX MODE" \
1672 -s "Invalid binder." \
1673 -S "key exchange mode: psk$" \
1674 -S "key exchange mode: psk_ephemeral" \
1675 -S "key exchange mode: ephemeral"
Jerry Yu58af2332022-09-06 11:19:31 +08001676
1677requires_openssl_tls1_3
1678requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001679requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu58af2332022-09-06 11:19:31 +08001680run_test "TLS 1.3: O->m: psk_ephemeral group(secp256r1) check, good" \
1681 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
1682 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -groups P-256 \
1683 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1684 0 \
1685 -s "write selected_group: secp256r1" \
1686 -S "key exchange mode: psk$" \
1687 -s "key exchange mode: psk_ephemeral" \
1688 -S "key exchange mode: ephemeral"
1689
1690requires_openssl_tls1_3
1691requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001692requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu58af2332022-09-06 11:19:31 +08001693run_test "TLS 1.3: O->m: psk_ephemeral group(secp384r1) check, good" \
1694 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
1695 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -groups secp384r1 \
1696 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1697 0 \
1698 -s "write selected_group: secp384r1" \
1699 -S "key exchange mode: psk$" \
1700 -s "key exchange mode: psk_ephemeral" \
1701 -S "key exchange mode: ephemeral"
1702
1703requires_openssl_tls1_3
1704requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001705requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu58af2332022-09-06 11:19:31 +08001706run_test "TLS 1.3: O->m: psk_ephemeral group(secp521r1) check, good" \
1707 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
1708 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -groups secp521r1 \
1709 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1710 0 \
1711 -s "write selected_group: secp521r1" \
1712 -S "key exchange mode: psk$" \
1713 -s "key exchange mode: psk_ephemeral" \
1714 -S "key exchange mode: ephemeral"
1715
1716requires_openssl_tls1_3
1717requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001718requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu58af2332022-09-06 11:19:31 +08001719run_test "TLS 1.3: O->m: psk_ephemeral group(x25519) check, good" \
1720 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
1721 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -groups X25519 \
1722 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1723 0 \
1724 -s "write selected_group: x25519" \
1725 -S "key exchange mode: psk$" \
1726 -s "key exchange mode: psk_ephemeral" \
1727 -S "key exchange mode: ephemeral"
1728
1729requires_openssl_tls1_3
1730requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Ronald Cron59625842022-10-17 10:36:34 +02001731requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu58af2332022-09-06 11:19:31 +08001732run_test "TLS 1.3: O->m: psk_ephemeral group(x448) check, good" \
1733 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
1734 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -groups X448 \
1735 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1736 0 \
1737 -s "write selected_group: x448" \
1738 -S "key exchange mode: psk$" \
1739 -s "key exchange mode: psk_ephemeral" \
1740 -S "key exchange mode: ephemeral"
Jerry Yu2db49df2022-09-21 11:03:28 +08001741
1742requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Jerry Yu2db49df2022-09-21 11:03:28 +08001743requires_openssl_tls1_3
Ronald Cron59625842022-10-17 10:36:34 +02001744requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu2db49df2022-09-21 11:03:28 +08001745run_test "TLS 1.3 O->m: psk_ephemeral group(secp256r1->secp384r1) check, good" \
Jerry Yu93706122022-09-21 22:44:24 +08001746 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_list=Client_identity,6162636465666768696a6b6c6d6e6f70,abc,dead,def,beef curves=secp384r1" \
1747 "$O_NEXT_CLI_NO_CERT -tls1_3 -msg -allow_no_dhe_kex -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70 -groups P-256:P-384" \
Jerry Yu2db49df2022-09-21 11:03:28 +08001748 0 \
1749 -s "write selected_group: secp384r1" \
1750 -s "HRR selected_group: secp384r1" \
1751 -S "key exchange mode: psk$" \
1752 -s "key exchange mode: psk_ephemeral" \
1753 -S "key exchange mode: ephemeral"
1754
1755requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
Jerry Yu2db49df2022-09-21 11:03:28 +08001756requires_gnutls_tls1_3
1757requires_gnutls_next_no_ticket
1758requires_gnutls_next_disable_tls13_compat
Ronald Cron59625842022-10-17 10:36:34 +02001759requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Jerry Yu2db49df2022-09-21 11:03:28 +08001760run_test "TLS 1.3 G->m: psk_ephemeral group(secp256r1->secp384r1) check, good" \
Jerry Yu93706122022-09-21 22:44:24 +08001761 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_list=Client_identity,6162636465666768696a6b6c6d6e6f70,abc,dead,def,beef curves=secp384r1" \
1762 "$G_NEXT_CLI_NO_CERT --debug=4 --single-key-share --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-SECP384R1 --pskusername Client_identity --pskkey 6162636465666768696a6b6c6d6e6f70 localhost" \
Jerry Yu2db49df2022-09-21 11:03:28 +08001763 0 \
1764 -s "write selected_group: secp384r1" \
1765 -s "HRR selected_group: secp384r1" \
1766 -S "key exchange mode: psk$" \
1767 -s "key exchange mode: psk_ephemeral" \
1768 -S "key exchange mode: ephemeral"
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00001769
1770
1771# Add psk test cases for mbedtls client code
1772
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001773# MbedTls->MbedTLS kinds of tls13_kex_modes
1774# PSK mode in client
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00001775requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1776requires_config_enabled MBEDTLS_SSL_SRV_C
1777requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02001778requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001779run_test "TLS 1.3: m->m: psk/psk, good" \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00001780 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001781 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00001782 0 \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00001783 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1784 -c "client hello, adding psk_key_exchange_modes extension" \
1785 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00001786 -c "Selected key exchange mode: psk$" \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00001787 -c "HTTP/1.0 200 OK"
1788
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001789requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1790requires_config_enabled MBEDTLS_SSL_SRV_C
1791requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02001792requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00001793run_test "TLS 1.3: m->m: psk/psk, fail, key id mismatch" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001794 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001795 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001796 1 \
1797 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1798 -c "client hello, adding psk_key_exchange_modes extension" \
1799 -c "client hello, adding PSK binder list" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001800 -s "No matched PSK or ticket"
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001801
1802requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1803requires_config_enabled MBEDTLS_SSL_SRV_C
1804requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02001805requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00001806run_test "TLS 1.3: m->m: psk/psk, fail, key material mismatch" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001807 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001808 "$P_CLI nbio=2 debug_level=5 psk_identity=0a0b0c psk=040506 tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001809 1 \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001810 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001811 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001812 -c "client hello, adding PSK binder list" \
1813 -s "Invalid binder."
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001814
1815requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1816requires_config_enabled MBEDTLS_SSL_SRV_C
1817requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02001818requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1819requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001820run_test "TLS 1.3: m->m: psk/psk_ephemeral, fail - no common kex mode" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001821 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001822 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001823 1 \
1824 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1825 -c "client hello, adding psk_key_exchange_modes extension" \
1826 -c "client hello, adding PSK binder list" \
1827 -s "ClientHello message misses mandatory extensions."
1828
1829requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1830requires_config_enabled MBEDTLS_SSL_SRV_C
1831requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02001832requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1833requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001834run_test "TLS 1.3: m->m: psk/ephemeral, fail - no common kex mode" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001835 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001836 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001837 1 \
1838 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1839 -c "client hello, adding psk_key_exchange_modes extension" \
1840 -c "client hello, adding PSK binder list" \
1841 -s "ClientHello message misses mandatory extensions."
1842
1843requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1844requires_config_enabled MBEDTLS_SSL_SRV_C
1845requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02001846requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1847requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
1848requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001849run_test "TLS 1.3: m->m: psk/ephemeral_all, fail - no common kex mode" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001850 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001851 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001852 1 \
1853 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1854 -c "client hello, adding psk_key_exchange_modes extension" \
1855 -c "client hello, adding PSK binder list" \
1856 -s "ClientHello message misses mandatory extensions."
1857
1858requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1859requires_config_enabled MBEDTLS_SSL_SRV_C
1860requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02001861requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1862requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001863run_test "TLS 1.3: m->m: psk/psk_all, good" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001864 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001865 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001866 0 \
1867 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1868 -c "client hello, adding psk_key_exchange_modes extension" \
1869 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00001870 -c "Selected key exchange mode: psk$" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001871 -c "HTTP/1.0 200 OK"
1872
1873requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1874requires_config_enabled MBEDTLS_SSL_SRV_C
1875requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02001876requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1877requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00001878run_test "TLS 1.3: m->m: psk/psk_all, fail, key id mismatch" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001879 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001880 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001881 1 \
1882 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1883 -c "client hello, adding psk_key_exchange_modes extension" \
1884 -c "client hello, adding PSK binder list" \
1885 -s "No matched PSK or ticket" \
1886 -s "ClientHello message misses mandatory extensions."
1887
1888requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1889requires_config_enabled MBEDTLS_SSL_SRV_C
1890requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02001891requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1892requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00001893run_test "TLS 1.3: m->m: psk/psk_all, fail, key material mismatch" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001894 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001895 "$P_CLI nbio=2 debug_level=5 psk_identity=0a0b0c psk=040506 tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001896 1 \
Xiaokang Qian89399302022-09-21 07:16:22 +00001897 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001898 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qian89399302022-09-21 07:16:22 +00001899 -c "client hello, adding PSK binder list" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001900 -s "Invalid binder."
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001901
1902requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1903requires_config_enabled MBEDTLS_SSL_SRV_C
1904requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02001905requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1906requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
1907requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001908run_test "TLS 1.3: m->m: psk/all, good" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001909 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001910 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001911 0 \
1912 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1913 -c "client hello, adding psk_key_exchange_modes extension" \
1914 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00001915 -c "Selected key exchange mode: psk$" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001916 -c "HTTP/1.0 200 OK"
1917
1918requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1919requires_config_enabled MBEDTLS_SSL_SRV_C
1920requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02001921requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1922requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
1923requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00001924run_test "TLS 1.3: m->m: psk/all, fail, key id mismatch" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001925 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001926 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001927 1 \
1928 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1929 -c "client hello, adding psk_key_exchange_modes extension" \
1930 -c "client hello, adding PSK binder list" \
1931 -s "No matched PSK or ticket" \
1932 -s "ClientHello message misses mandatory extensions."
1933
1934requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1935requires_config_enabled MBEDTLS_SSL_SRV_C
1936requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02001937requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1938requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
1939requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00001940run_test "TLS 1.3: m->m: psk/all, fail, key material mismatch" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001941 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00001942 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c psk=040506 tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001943 1 \
Xiaokang Qian89399302022-09-21 07:16:22 +00001944 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001945 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qian89399302022-09-21 07:16:22 +00001946 -c "client hello, adding PSK binder list" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001947 -s "Invalid binder."
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001948
1949# psk_ephemeral mode in client
1950requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1951requires_config_enabled MBEDTLS_SSL_SRV_C
1952requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02001953requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
1954requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001955run_test "TLS 1.3: m->m: psk_ephemeral/psk, fail - no common kex mode" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001956 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001957 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001958 1 \
1959 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1960 -c "client hello, adding psk_key_exchange_modes extension" \
1961 -c "client hello, adding PSK binder list" \
1962 -s "ClientHello message misses mandatory extensions."
1963
1964requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1965requires_config_enabled MBEDTLS_SSL_SRV_C
1966requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02001967requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001968run_test "TLS 1.3: m->m: psk_ephemeral/psk_ephemeral, good" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001969 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001970 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001971 0 \
1972 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1973 -c "client hello, adding psk_key_exchange_modes extension" \
1974 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00001975 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001976 -c "HTTP/1.0 200 OK"
1977
1978requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1979requires_config_enabled MBEDTLS_SSL_SRV_C
1980requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02001981requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00001982run_test "TLS 1.3: m->m: psk_ephemeral/psk_ephemeral, fail, key id mismatch" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001983 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001984 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001985 1 \
1986 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1987 -c "client hello, adding psk_key_exchange_modes extension" \
1988 -c "client hello, adding PSK binder list" \
1989 -s "No matched PSK or ticket" \
1990 -s "ClientHello message misses mandatory extensions."
1991
1992requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1993requires_config_enabled MBEDTLS_SSL_SRV_C
1994requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02001995requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00001996run_test "TLS 1.3: m->m: psk_ephemeral/psk_ephemeral, fail, key material mismatch" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001997 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00001998 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c psk=040506 tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001999 1 \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002000 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002001 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002002 -c "client hello, adding PSK binder list" \
2003 -s "Invalid binder."
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002004
2005requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2006requires_config_enabled MBEDTLS_SSL_SRV_C
2007requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian210727f2022-09-23 07:25:40 +00002008requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
Ronald Cron59625842022-10-17 10:36:34 +02002009requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2010requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002011run_test "TLS 1.3: m->m: psk_ephemeral/ephemeral, fail - no common kex mode" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002012 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002013 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002014 1 \
2015 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2016 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qianac8195f2022-09-26 04:01:06 +00002017 -c "client hello, adding PSK binder list"
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002018
2019requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2020requires_config_enabled MBEDTLS_SSL_SRV_C
2021requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002022requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2023requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002024run_test "TLS 1.3: m->m: psk_ephemeral/ephemeral_all, good" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002025 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002026 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002027 0 \
2028 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2029 -c "client hello, adding psk_key_exchange_modes extension" \
2030 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002031 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002032 -c "HTTP/1.0 200 OK"
2033
2034requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
Xiaokang Qian210727f2022-09-23 07:25:40 +00002035requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002036requires_config_enabled MBEDTLS_SSL_SRV_C
2037requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002038requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2039requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002040run_test "TLS 1.3: m->m: psk_ephemeral/ephemeral_all, fail, key id mismatch" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002041 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002042 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002043 1 \
2044 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2045 -c "client hello, adding psk_key_exchange_modes extension" \
2046 -c "client hello, adding PSK binder list" \
Xiaokang Qianac8195f2022-09-26 04:01:06 +00002047 -s "No matched PSK or ticket"
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002048
2049requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2050requires_config_enabled MBEDTLS_SSL_SRV_C
2051requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002052requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2053requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002054run_test "TLS 1.3: m->m: psk_ephemeral/ephemeral_all, fail, key material mismatch" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002055 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002056 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c psk=040506 tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002057 1 \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002058 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002059 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002060 -c "client hello, adding PSK binder list" \
2061 -s "Invalid binder."
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002062
2063requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2064requires_config_enabled MBEDTLS_SSL_SRV_C
2065requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002066requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2067requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002068run_test "TLS 1.3: m->m: psk_ephemeral/psk_all, good" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002069 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002070 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002071 0 \
2072 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2073 -c "client hello, adding psk_key_exchange_modes extension" \
2074 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002075 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002076 -c "HTTP/1.0 200 OK"
2077
2078requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2079requires_config_enabled MBEDTLS_SSL_SRV_C
2080requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002081requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2082requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002083run_test "TLS 1.3: m->m: psk_ephemeral/psk_all, fail, key id mismatch" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002084 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002085 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002086 1 \
2087 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2088 -c "client hello, adding psk_key_exchange_modes extension" \
2089 -c "client hello, adding PSK binder list" \
2090 -s "No matched PSK or ticket" \
2091 -s "ClientHello message misses mandatory extensions."
2092
2093requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2094requires_config_enabled MBEDTLS_SSL_SRV_C
2095requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002096requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2097requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002098run_test "TLS 1.3: m->m: psk_ephemeral/psk_all, fail, key material mismatch" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002099 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002100 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002101 1 \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002102 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002103 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002104 -c "client hello, adding PSK binder list" \
2105 -s "Invalid binder."
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002106
2107requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2108requires_config_enabled MBEDTLS_SSL_SRV_C
2109requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002110requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2111requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2112requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002113run_test "TLS 1.3: m->m: psk_ephemeral/all, good" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002114 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002115 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002116 0 \
2117 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2118 -c "client hello, adding psk_key_exchange_modes extension" \
2119 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002120 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002121 -c "HTTP/1.0 200 OK"
2122
2123requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2124requires_config_enabled MBEDTLS_SSL_SRV_C
2125requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002126requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2127requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2128requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002129run_test "TLS 1.3: m->m: psk_ephemeral/all, fail, key id mismatch" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002130 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002131 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002132 1 \
2133 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2134 -c "client hello, adding psk_key_exchange_modes extension" \
2135 -c "client hello, adding PSK binder list" \
2136 -s "No matched PSK or ticket" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002137
2138requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2139requires_config_enabled MBEDTLS_SSL_SRV_C
2140requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002141requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2142requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2143requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002144run_test "TLS 1.3: m->m: psk_ephemeral/all, fail, key material mismatch" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002145 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002146 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002147 1 \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002148 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002149 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002150 -c "client hello, adding PSK binder list" \
2151 -s "Invalid binder."
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00002152
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002153# ephemeral mode in client
2154requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2155requires_config_enabled MBEDTLS_SSL_SRV_C
2156requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002157requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2158requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002159run_test "TLS 1.3: m->m: ephemeral/psk, fail - no common kex mode" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002160 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002161 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002162 1 \
2163 -s "ClientHello message misses mandatory extensions."
2164
2165requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2166requires_config_enabled MBEDTLS_SSL_SRV_C
2167requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002168requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2169requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002170run_test "TLS 1.3: m->m: ephemeral/psk_ephemeral, fail - no common kex mode" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002171 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002172 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002173 1 \
2174 -s "ClientHello message misses mandatory extensions."
2175
2176requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2177requires_config_enabled MBEDTLS_SSL_SRV_C
2178requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002179requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002180run_test "TLS 1.3: m->m: ephemeral/ephemeral, good" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002181 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002182 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002183 0 \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002184 -c "Selected key exchange mode: ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002185 -c "HTTP/1.0 200 OK"
2186
2187requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2188requires_config_enabled MBEDTLS_SSL_SRV_C
2189requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002190requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2191requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002192run_test "TLS 1.3: m->m: ephemeral/ephemeral_all, good" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002193 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002194 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002195 0 \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002196 -c "Selected key exchange mode: ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002197 -c "HTTP/1.0 200 OK"
2198
2199requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2200requires_config_enabled MBEDTLS_SSL_SRV_C
2201requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002202requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2203requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2204requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002205run_test "TLS 1.3: m->m: ephemeral/psk_all, fail - no common kex mode" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002206 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002207 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002208 1 \
2209 -s "ClientHello message misses mandatory extensions."
2210
2211requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2212requires_config_enabled MBEDTLS_SSL_SRV_C
2213requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002214requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2215requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2216requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002217run_test "TLS 1.3: m->m: ephemeral/all, good" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002218 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002219 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002220 0 \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002221 -c "Selected key exchange mode: ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002222 -c "HTTP/1.0 200 OK"
2223
2224# ephemeral_all mode in client
2225requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2226requires_config_enabled MBEDTLS_SSL_SRV_C
2227requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002228requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2229requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2230requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002231run_test "TLS 1.3: m->m: ephemeral_all/psk, fail - no common kex mode" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002232 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002233 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002234 1 \
2235 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2236 -c "client hello, adding psk_key_exchange_modes extension" \
2237 -c "client hello, adding PSK binder list" \
2238 -s "ClientHello message misses mandatory extensions."
2239
2240requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2241requires_config_enabled MBEDTLS_SSL_SRV_C
2242requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002243requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2244requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002245run_test "TLS 1.3: m->m: ephemeral_all/psk_ephemeral, good" \
Xiaokang Qian210727f2022-09-23 07:25:40 +00002246 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002247 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002248 0 \
2249 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2250 -c "client hello, adding psk_key_exchange_modes extension" \
2251 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002252 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002253 -c "HTTP/1.0 200 OK"
2254
2255requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2256requires_config_enabled MBEDTLS_SSL_SRV_C
2257requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002258requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2259requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002260run_test "TLS 1.3: m->m: ephemeral_all/psk_ephemeral, fail, key id mismatch" \
Xiaokang Qian210727f2022-09-23 07:25:40 +00002261 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002262 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=ephemeral_all" \
Xiaokang Qian210727f2022-09-23 07:25:40 +00002263 1 \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002264 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2265 -c "client hello, adding psk_key_exchange_modes extension" \
2266 -c "client hello, adding PSK binder list" \
Xiaokang Qian210727f2022-09-23 07:25:40 +00002267 -s "No matched PSK or ticket"
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002268
2269requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2270requires_config_enabled MBEDTLS_SSL_SRV_C
2271requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002272requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2273requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002274run_test "TLS 1.3: m->m: ephemeral_all/psk_ephemeral, fail, key material mismatch" \
Xiaokang Qian210727f2022-09-23 07:25:40 +00002275 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002276 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
2277 1 \
2278 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002279 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002280 -c "client hello, adding PSK binder list" \
2281 -s "Invalid binder."
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002282
2283requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2284requires_config_enabled MBEDTLS_SSL_SRV_C
2285requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002286requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2287requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002288run_test "TLS 1.3: m->m: ephemeral_all/ephemeral, good" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002289 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002290 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002291 0 \
2292 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2293 -c "client hello, adding psk_key_exchange_modes extension" \
2294 -c "client hello, adding PSK binder list" \
2295 -s "key exchange mode: ephemeral" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002296 -c "Selected key exchange mode: ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002297 -c "HTTP/1.0 200 OK"
2298
2299requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2300requires_config_enabled MBEDTLS_SSL_SRV_C
2301requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002302requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2303requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002304run_test "TLS 1.3: m->m: ephemeral_all/ephemeral_all, good" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002305 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002306 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002307 0 \
2308 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2309 -c "client hello, adding psk_key_exchange_modes extension" \
2310 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002311 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002312 -c "HTTP/1.0 200 OK"
2313
2314requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2315requires_config_enabled MBEDTLS_SSL_SRV_C
2316requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002317requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2318requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002319run_test "TLS 1.3: m->m: ephemeral_all/ephemeral_all,good,key id mismatch,fallback" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002320 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002321 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002322 0 \
2323 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2324 -c "client hello, adding psk_key_exchange_modes extension" \
2325 -c "client hello, adding PSK binder list" \
2326 -s "No matched PSK or ticket" \
2327 -s "key exchange mode: ephemeral"
2328
2329requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2330requires_config_enabled MBEDTLS_SSL_SRV_C
2331requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002332requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2333requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qiana70bd912022-09-28 07:50:13 +00002334run_test "TLS 1.3: m->m: ephemeral_all/ephemeral_all, fail, key material mismatch" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002335 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002336 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
2337 1 \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002338 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2339 -c "client hello, adding psk_key_exchange_modes extension" \
2340 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002341 -s "Invalid binder."
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002342
2343requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2344requires_config_enabled MBEDTLS_SSL_SRV_C
2345requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002346requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2347requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2348requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002349run_test "TLS 1.3: m->m: ephemeral_all/psk_all, good" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002350 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002351 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002352 0 \
2353 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2354 -c "client hello, adding psk_key_exchange_modes extension" \
2355 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002356 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002357 -c "HTTP/1.0 200 OK"
2358
2359requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2360requires_config_enabled MBEDTLS_SSL_SRV_C
2361requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002362requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2363requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2364requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002365run_test "TLS 1.3: m->m: ephemeral_all/psk_all, fail, key id mismatch" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002366 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002367 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002368 1 \
2369 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2370 -c "client hello, adding psk_key_exchange_modes extension" \
2371 -c "client hello, adding PSK binder list" \
2372 -s "No matched PSK or ticket" \
2373 -s "ClientHello message misses mandatory extensions."
2374
2375requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2376requires_config_enabled MBEDTLS_SSL_SRV_C
2377requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002378requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2379requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2380requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002381run_test "TLS 1.3: m->m: ephemeral_all/psk_all, fail, key material mismatch" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002382 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002383 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002384 1 \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002385 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002386 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002387 -c "client hello, adding PSK binder list" \
2388 -s "Invalid binder."
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002389
2390requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2391requires_config_enabled MBEDTLS_SSL_SRV_C
2392requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002393requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2394requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2395requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002396run_test "TLS 1.3: m->m: ephemeral_all/all, good" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002397 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002398 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002399 0 \
2400 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2401 -c "client hello, adding psk_key_exchange_modes extension" \
2402 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002403 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002404 -c "HTTP/1.0 200 OK"
2405
2406requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2407requires_config_enabled MBEDTLS_SSL_SRV_C
2408requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002409requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2410requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2411requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002412run_test "TLS 1.3: m->m: ephemeral_all/all, good, key id mismatch, fallback" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002413 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002414 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002415 0 \
2416 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2417 -c "client hello, adding psk_key_exchange_modes extension" \
2418 -c "client hello, adding PSK binder list" \
2419 -s "No matched PSK or ticket" \
2420 -s "key exchange mode: ephemeral"
2421
2422requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2423requires_config_enabled MBEDTLS_SSL_SRV_C
2424requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002425requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2426requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2427requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002428run_test "TLS 1.3: m->m: ephemeral_all/all, fail, key material mismatch" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002429 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002430 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
2431 1 \
2432 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002433 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002434 -c "client hello, adding PSK binder list" \
2435 -s "Invalid binder."
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002436
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002437# psk_all mode in client
2438requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2439requires_config_enabled MBEDTLS_SSL_SRV_C
2440requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002441requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2442requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002443run_test "TLS 1.3: m->m: psk_all/psk, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002444 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002445 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002446 0 \
2447 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2448 -c "client hello, adding psk_key_exchange_modes extension" \
2449 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002450 -c "Selected key exchange mode: psk$" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002451 -c "HTTP/1.0 200 OK"
2452
2453requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2454requires_config_enabled MBEDTLS_SSL_SRV_C
2455requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002456requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2457requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002458run_test "TLS 1.3: m->m: psk_all/psk, fail, key id mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002459 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002460 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002461 1 \
2462 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2463 -c "client hello, adding psk_key_exchange_modes extension" \
2464 -c "client hello, adding PSK binder list" \
2465 -s "ClientHello message misses mandatory extensions."
2466
2467requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2468requires_config_enabled MBEDTLS_SSL_SRV_C
2469requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002470requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2471requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002472run_test "TLS 1.3: m->m: psk_all/psk, fail, key material mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002473 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002474 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002475 1 \
2476 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2477 -c "client hello, adding psk_key_exchange_modes extension" \
2478 -c "client hello, adding PSK binder list" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002479 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002480
2481requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2482requires_config_enabled MBEDTLS_SSL_SRV_C
2483requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002484requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2485requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002486run_test "TLS 1.3: m->m: psk_all/psk_ephemeral, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002487 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002488 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002489 0 \
2490 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2491 -c "client hello, adding psk_key_exchange_modes extension" \
2492 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002493 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002494 -c "HTTP/1.0 200 OK"
2495
2496requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2497requires_config_enabled MBEDTLS_SSL_SRV_C
2498requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002499requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2500requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002501run_test "TLS 1.3: m->m: psk_all/psk_ephemeral, fail, key id mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002502 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002503 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002504 1 \
2505 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2506 -c "client hello, adding psk_key_exchange_modes extension" \
2507 -c "client hello, adding PSK binder list" \
2508 -s "No matched PSK or ticket" \
2509 -s "ClientHello message misses mandatory extensions."
2510
2511requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2512requires_config_enabled MBEDTLS_SSL_SRV_C
2513requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002514requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2515requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002516run_test "TLS 1.3: m->m: psk_all/psk_ephemeral, fail, key material mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002517 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qian954d5762022-09-26 08:40:10 +00002518 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002519 1 \
Xiaokang Qian954d5762022-09-26 08:40:10 +00002520 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002521 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qian954d5762022-09-26 08:40:10 +00002522 -c "client hello, adding PSK binder list" \
2523 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002524
2525requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2526requires_config_enabled MBEDTLS_SSL_SRV_C
2527requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002528requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2529requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2530requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002531run_test "TLS 1.3: m->m: psk_all/ephemeral, fail - no common kex mode" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002532 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002533 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002534 1 \
2535 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2536 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qianac8195f2022-09-26 04:01:06 +00002537 -c "client hello, adding PSK binder list"
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002538
2539requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2540requires_config_enabled MBEDTLS_SSL_SRV_C
2541requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002542requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2543requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2544requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002545run_test "TLS 1.3: m->m: psk_all/ephemeral_all, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002546 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002547 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002548 0 \
2549 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2550 -c "client hello, adding psk_key_exchange_modes extension" \
2551 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002552 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002553 -c "HTTP/1.0 200 OK"
2554
2555requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2556requires_config_enabled MBEDTLS_SSL_SRV_C
2557requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002558requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2559requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2560requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002561run_test "TLS 1.3: m->m: psk_all/ephemeral_all, fail, key id mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002562 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002563 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002564 1 \
2565 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2566 -c "client hello, adding psk_key_exchange_modes extension" \
2567 -c "client hello, adding PSK binder list" \
Xiaokang Qianac8195f2022-09-26 04:01:06 +00002568 -s "No matched PSK or ticket"
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002569
2570requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2571requires_config_enabled MBEDTLS_SSL_SRV_C
2572requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002573requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2574requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2575requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qiana70bd912022-09-28 07:50:13 +00002576run_test "TLS 1.3: m->m: psk_all/ephemeral_all, fail, key material mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002577 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002578 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002579 1 \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002580 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002581 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002582 -c "client hello, adding PSK binder list" \
2583 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002584
2585requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2586requires_config_enabled MBEDTLS_SSL_SRV_C
2587requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002588requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2589requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002590run_test "TLS 1.3: m->m: psk_all/psk_all, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002591 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002592 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002593 0 \
2594 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2595 -c "client hello, adding psk_key_exchange_modes extension" \
2596 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002597 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002598 -c "HTTP/1.0 200 OK"
2599
2600requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2601requires_config_enabled MBEDTLS_SSL_SRV_C
2602requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002603requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2604requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002605run_test "TLS 1.3: m->m: psk_all/psk_all, fail, key id mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002606 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002607 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002608 1 \
2609 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2610 -c "client hello, adding psk_key_exchange_modes extension" \
2611 -c "client hello, adding PSK binder list" \
2612 -s "No matched PSK or ticket" \
2613 -s "ClientHello message misses mandatory extensions."
2614
2615requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2616requires_config_enabled MBEDTLS_SSL_SRV_C
2617requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002618requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2619requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002620run_test "TLS 1.3: m->m: psk_all/psk_all, fail, key material mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002621 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002622 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002623 1 \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002624 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002625 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002626 -c "client hello, adding PSK binder list" \
2627 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002628
2629requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2630requires_config_enabled MBEDTLS_SSL_SRV_C
2631requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002632requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2633requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2634requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002635run_test "TLS 1.3: m->m: psk_all/all, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002636 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002637 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002638 0 \
2639 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2640 -c "client hello, adding psk_key_exchange_modes extension" \
2641 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002642 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002643 -c "HTTP/1.0 200 OK"
2644
2645requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2646requires_config_enabled MBEDTLS_SSL_SRV_C
2647requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002648requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2649requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2650requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002651run_test "TLS 1.3: m->m: psk_all/all, fail, key id mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002652 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002653 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002654 1 \
2655 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2656 -c "client hello, adding psk_key_exchange_modes extension" \
2657 -c "client hello, adding PSK binder list" \
Xiaokang Qianac8195f2022-09-26 04:01:06 +00002658 -s "No matched PSK or ticket"
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002659
2660requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2661requires_config_enabled MBEDTLS_SSL_SRV_C
2662requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002663requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2664requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2665requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002666run_test "TLS 1.3: m->m: psk_all/all, fail, key material mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002667 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002668 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002669 1 \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002670 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002671 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002672 -c "client hello, adding PSK binder list" \
2673 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002674
2675# all mode in client
2676requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2677requires_config_enabled MBEDTLS_SSL_SRV_C
2678requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002679requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2680requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2681requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002682run_test "TLS 1.3: m->m: all/psk, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002683 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002684 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002685 0 \
2686 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2687 -c "client hello, adding psk_key_exchange_modes extension" \
2688 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002689 -c "Selected key exchange mode: psk$" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002690 -c "HTTP/1.0 200 OK"
2691
2692requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2693requires_config_enabled MBEDTLS_SSL_SRV_C
2694requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002695requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2696requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2697requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002698run_test "TLS 1.3: m->m: all/psk, fail, key id mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002699 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002700 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002701 1 \
2702 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2703 -c "client hello, adding psk_key_exchange_modes extension" \
2704 -c "client hello, adding PSK binder list" \
Xiaokang Qian954d5762022-09-26 08:40:10 +00002705 -s "No matched PSK or ticket" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002706 -s "ClientHello message misses mandatory extensions."
2707
2708requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2709requires_config_enabled MBEDTLS_SSL_SRV_C
2710requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002711requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2712requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2713requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002714run_test "TLS 1.3: m->m: all/psk, fail, key material mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002715 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002716 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002717 1 \
2718 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2719 -c "client hello, adding psk_key_exchange_modes extension" \
2720 -c "client hello, adding PSK binder list" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002721 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002722
2723requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2724requires_config_enabled MBEDTLS_SSL_SRV_C
2725requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002726requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2727requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2728requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002729run_test "TLS 1.3: m->m: all/psk_ephemeral, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002730 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002731 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002732 0 \
2733 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2734 -c "client hello, adding psk_key_exchange_modes extension" \
2735 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002736 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002737 -c "HTTP/1.0 200 OK"
2738
2739requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2740requires_config_enabled MBEDTLS_SSL_SRV_C
2741requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002742requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2743requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2744requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002745run_test "TLS 1.3: m->m: all/psk_ephemeral, fail, key id mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002746 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002747 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002748 1 \
2749 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2750 -c "client hello, adding psk_key_exchange_modes extension" \
2751 -c "client hello, adding PSK binder list" \
2752 -s "No matched PSK or ticket" \
2753 -s "ClientHello message misses mandatory extensions."
2754
2755requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2756requires_config_enabled MBEDTLS_SSL_SRV_C
2757requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002758requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2759requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2760requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002761run_test "TLS 1.3: m->m: all/psk_ephemeral, fail, key material mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002762 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002763 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002764 1 \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002765 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002766 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002767 -c "client hello, adding PSK binder list" \
2768 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002769
2770requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2771requires_config_enabled MBEDTLS_SSL_SRV_C
2772requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002773requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2774requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2775requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002776run_test "TLS 1.3: m->m: all/ephemeral, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002777 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002778 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002779 0 \
2780 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2781 -c "client hello, adding psk_key_exchange_modes extension" \
2782 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002783 -c "Selected key exchange mode: ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002784 -c "HTTP/1.0 200 OK"
2785
2786requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2787requires_config_enabled MBEDTLS_SSL_SRV_C
2788requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002789requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2790requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2791requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002792run_test "TLS 1.3: m->m: all/ephemeral_all, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002793 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002794 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002795 0 \
2796 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2797 -c "client hello, adding psk_key_exchange_modes extension" \
2798 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002799 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002800 -c "HTTP/1.0 200 OK"
2801
2802requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2803requires_config_enabled MBEDTLS_SSL_SRV_C
2804requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002805requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2806requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2807requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002808run_test "TLS 1.3: m->m: all/ephemeral_all, good, key id mismatch, fallback" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002809 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002810 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002811 0 \
2812 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2813 -c "client hello, adding psk_key_exchange_modes extension" \
2814 -c "client hello, adding PSK binder list" \
2815 -s "No matched PSK or ticket" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002816 -c "Selected key exchange mode: ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002817 -c "HTTP/1.0 200 OK"
2818
2819requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2820requires_config_enabled MBEDTLS_SSL_SRV_C
2821requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002822requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2823requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2824requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002825run_test "TLS 1.3: m->m: all/ephemeral_all, fail, key material mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002826 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002827 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=all" \
2828 1 \
2829 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002830 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002831 -c "client hello, adding PSK binder list" \
2832 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002833
2834requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2835requires_config_enabled MBEDTLS_SSL_SRV_C
2836requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002837requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2838requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2839requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002840run_test "TLS 1.3: m->m: all/psk_all, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002841 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002842 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002843 0 \
2844 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2845 -c "client hello, adding psk_key_exchange_modes extension" \
2846 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002847 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002848 -c "HTTP/1.0 200 OK"
2849
2850requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2851requires_config_enabled MBEDTLS_SSL_SRV_C
2852requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002853requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2854requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2855requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002856run_test "TLS 1.3: m->m: all/psk_all, fail, key id mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002857 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002858 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002859 1 \
2860 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2861 -c "client hello, adding psk_key_exchange_modes extension" \
2862 -c "client hello, adding PSK binder list" \
2863 -s "No matched PSK or ticket" \
2864 -s "ClientHello message misses mandatory extensions."
2865
2866requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2867requires_config_enabled MBEDTLS_SSL_SRV_C
2868requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002869requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2870requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2871requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002872run_test "TLS 1.3: m->m: all/psk_all, fail, key material mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002873 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002874 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002875 1 \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002876 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002877 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002878 -c "client hello, adding PSK binder list" \
2879 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002880
2881requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2882requires_config_enabled MBEDTLS_SSL_SRV_C
2883requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002884requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2885requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2886requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002887run_test "TLS 1.3: m->m: all/all, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002888 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002889 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002890 0 \
2891 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2892 -c "client hello, adding psk_key_exchange_modes extension" \
2893 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002894 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002895 -c "HTTP/1.0 200 OK"
2896
2897requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2898requires_config_enabled MBEDTLS_SSL_SRV_C
2899requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002900requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2901requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2902requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002903run_test "TLS 1.3: m->m: all/all, good, key id mismatch, fallback" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002904 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00002905 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002906 0 \
2907 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2908 -c "client hello, adding psk_key_exchange_modes extension" \
2909 -c "client hello, adding PSK binder list" \
2910 -s "No matched PSK or ticket" \
2911 -s "key exchange mode: ephemeral"
2912
2913requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2914requires_config_enabled MBEDTLS_SSL_SRV_C
2915requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002916requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2917requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
2918requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian9c172042022-09-27 11:41:50 +00002919run_test "TLS 1.3: m->m: all/all, fail, key material mismatch" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002920 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002921 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=all" \
2922 1 \
2923 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002924 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002925 -c "client hello, adding PSK binder list" \
2926 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002927
Xiaokang Qian73894232022-08-23 08:06:34 +00002928#OPENSSL-SERVER psk mode
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00002929requires_openssl_tls1_3
2930requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2931requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2932requires_config_enabled MBEDTLS_DEBUG_C
2933requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002934requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002935run_test "TLS 1.3: m->O: psk/all, good" \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00002936 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex -nocert" \
Xiaokang Qian198cefd2022-08-25 10:42:56 +00002937 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00002938 0 \
2939 -c "=> write client hello" \
2940 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2941 -c "client hello, adding psk_key_exchange_modes extension" \
2942 -c "client hello, adding PSK binder list" \
2943 -c "<= write client hello" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002944 -c "Selected key exchange mode: psk$" \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00002945 -c "HTTP/1.0 200 ok"
2946
2947requires_openssl_tls1_3
2948requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2949requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2950requires_config_enabled MBEDTLS_DEBUG_C
2951requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002952requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002953run_test "TLS 1.3: m->O: psk/ephemeral_all, fail - no common kex mode" \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00002954 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \
Ronald Cron2ea36af2022-10-17 09:37:16 +02002955 "$P_CLI debug_level=4 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiane0cc5842022-08-25 06:17:36 +00002956 1 \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00002957 -c "=> write client hello" \
2958 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2959 -c "client hello, adding psk_key_exchange_modes extension" \
2960 -c "client hello, adding PSK binder list" \
2961 -c "<= write client hello" \
Xiaokang Qiane0cc5842022-08-25 06:17:36 +00002962 -c "Last error was: -0x7780 - SSL - A fatal alert message was received from our peer"
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00002963
Xiaokang Qian73894232022-08-23 08:06:34 +00002964#OPENSSL-SERVER psk_all mode
2965requires_openssl_tls1_3
2966requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2967requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2968requires_config_enabled MBEDTLS_DEBUG_C
2969requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002970requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2971requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002972run_test "TLS 1.3: m->O: psk_all/all, good" \
Xiaokang Qian73894232022-08-23 08:06:34 +00002973 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex -nocert" \
Xiaokang Qian198cefd2022-08-25 10:42:56 +00002974 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian73894232022-08-23 08:06:34 +00002975 0 \
2976 -c "=> write client hello" \
2977 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2978 -c "client hello, adding psk_key_exchange_modes extension" \
2979 -c "client hello, adding PSK binder list" \
2980 -c "<= write client hello" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00002981 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qian73894232022-08-23 08:06:34 +00002982 -c "HTTP/1.0 200 ok"
2983
2984requires_openssl_tls1_3
2985requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2986requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2987requires_config_enabled MBEDTLS_DEBUG_C
2988requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02002989requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
2990requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002991run_test "TLS 1.3: m->O: psk_all/ephemeral_all, good" \
Xiaokang Qian73894232022-08-23 08:06:34 +00002992 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \
Ronald Cron2ea36af2022-10-17 09:37:16 +02002993 "$P_CLI debug_level=4 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian73894232022-08-23 08:06:34 +00002994 0 \
2995 -c "=> write client hello" \
2996 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2997 -c "client hello, adding psk_key_exchange_modes extension" \
2998 -c "client hello, adding PSK binder list" \
2999 -c "<= write client hello" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00003000 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qian73894232022-08-23 08:06:34 +00003001 -c "HTTP/1.0 200 ok"
3002
Xiaokang Qianff5705b2022-08-24 03:18:31 +00003003#OPENSSL-SERVER psk_ephemeral mode
3004requires_openssl_tls1_3
3005requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3006requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3007requires_config_enabled MBEDTLS_DEBUG_C
3008requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003009requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003010run_test "TLS 1.3: m->O: psk_ephemeral/all, good" \
Xiaokang Qianff5705b2022-08-24 03:18:31 +00003011 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex -nocert" \
Xiaokang Qian198cefd2022-08-25 10:42:56 +00003012 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianff5705b2022-08-24 03:18:31 +00003013 0 \
3014 -c "=> write client hello" \
3015 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3016 -c "client hello, adding psk_key_exchange_modes extension" \
3017 -c "client hello, adding PSK binder list" \
3018 -c "<= write client hello" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00003019 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qianff5705b2022-08-24 03:18:31 +00003020 -c "HTTP/1.0 200 ok"
3021
3022requires_openssl_tls1_3
3023requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3024requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3025requires_config_enabled MBEDTLS_DEBUG_C
3026requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003027requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003028run_test "TLS 1.3: m->O: psk_ephemeral/ephemeral_all, good" \
Xiaokang Qianff5705b2022-08-24 03:18:31 +00003029 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \
Ronald Cron2ea36af2022-10-17 09:37:16 +02003030 "$P_CLI debug_level=4 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianff5705b2022-08-24 03:18:31 +00003031 0 \
3032 -c "=> write client hello" \
3033 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3034 -c "client hello, adding psk_key_exchange_modes extension" \
3035 -c "client hello, adding PSK binder list" \
3036 -c "<= write client hello" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00003037 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qianff5705b2022-08-24 03:18:31 +00003038 -c "HTTP/1.0 200 ok"
3039
Xiaokang Qian01173c22022-08-24 06:29:05 +00003040#OPENSSL-SERVER ephemeral mode
3041requires_openssl_tls1_3
3042requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3043requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3044requires_config_enabled MBEDTLS_DEBUG_C
3045requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003046requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003047run_test "TLS 1.3: m->O: ephemeral/all, good" \
Xiaokang Qian01173c22022-08-24 06:29:05 +00003048 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex" \
Xiaokang Qian198cefd2022-08-25 10:42:56 +00003049 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qian01173c22022-08-24 06:29:05 +00003050 0 \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00003051 -c "Selected key exchange mode: ephemeral" \
Xiaokang Qian01173c22022-08-24 06:29:05 +00003052 -c "HTTP/1.0 200 ok"
3053
3054requires_openssl_tls1_3
3055requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3056requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3057requires_config_enabled MBEDTLS_DEBUG_C
3058requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003059requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003060run_test "TLS 1.3: m->O: ephemeral/ephemeral_all, good" \
Xiaokang Qian01173c22022-08-24 06:29:05 +00003061 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \
3062 "$P_CLI debug_level=4 sig_algs=ecdsa_secp256r1_sha256 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
3063 0 \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00003064 -c "Selected key exchange mode: ephemeral" \
Xiaokang Qian01173c22022-08-24 06:29:05 +00003065 -c "HTTP/1.0 200 ok"
3066
Xiaokang Qiana39d0d52022-08-24 06:48:07 +00003067#OPENSSL-SERVER ephemeral_all mode
3068requires_openssl_tls1_3
3069requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3070requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3071requires_config_enabled MBEDTLS_DEBUG_C
3072requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003073requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
3074requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003075run_test "TLS 1.3: m->O: ephemeral_all/all, good" \
Xiaokang Qiana39d0d52022-08-24 06:48:07 +00003076 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex -nocert" \
Xiaokang Qian198cefd2022-08-25 10:42:56 +00003077 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qiana39d0d52022-08-24 06:48:07 +00003078 0 \
3079 -c "=> write client hello" \
3080 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3081 -c "client hello, adding psk_key_exchange_modes extension" \
3082 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00003083 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qiana39d0d52022-08-24 06:48:07 +00003084 -c "<= write client hello" \
3085 -c "HTTP/1.0 200 ok"
3086
3087requires_openssl_tls1_3
3088requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3089requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3090requires_config_enabled MBEDTLS_DEBUG_C
3091requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003092requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
3093requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003094run_test "TLS 1.3: m->O: ephemeral_all/ephemeral_all, good" \
Xiaokang Qiana39d0d52022-08-24 06:48:07 +00003095 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \
3096 "$P_CLI debug_level=4 sig_algs=ecdsa_secp256r1_sha256 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
3097 0 \
3098 -c "=> write client hello" \
3099 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3100 -c "client hello, adding psk_key_exchange_modes extension" \
3101 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00003102 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qiana39d0d52022-08-24 06:48:07 +00003103 -c "<= write client hello" \
3104 -c "HTTP/1.0 200 ok"
3105
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003106#OPENSSL-SERVER all mode
3107requires_openssl_tls1_3
3108requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3109requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3110requires_config_enabled MBEDTLS_DEBUG_C
3111requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003112requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
3113requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
3114requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003115run_test "TLS 1.3: m->O: all/all, good" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003116 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex -nocert" \
Xiaokang Qian198cefd2022-08-25 10:42:56 +00003117 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003118 0 \
3119 -c "=> write client hello" \
3120 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3121 -c "client hello, adding psk_key_exchange_modes extension" \
3122 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00003123 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003124 -c "<= write client hello" \
3125 -c "HTTP/1.0 200 ok"
3126
3127requires_openssl_tls1_3
3128requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3129requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3130requires_config_enabled MBEDTLS_DEBUG_C
3131requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003132requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
3133requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
3134requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003135run_test "TLS 1.3: m->O: all/ephemeral_all, good" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003136 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \
3137 "$P_CLI debug_level=4 sig_algs=ecdsa_secp256r1_sha256 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
3138 0 \
3139 -c "=> write client hello" \
3140 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3141 -c "client hello, adding psk_key_exchange_modes extension" \
3142 -c "client hello, adding PSK binder list" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00003143 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003144 -c "<= write client hello" \
3145 -c "HTTP/1.0 200 ok"
3146
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003147#GNUTLS-SERVER psk mode
3148requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3149requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003150requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3151requires_config_enabled MBEDTLS_DEBUG_C
3152requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003153requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003154run_test "TLS 1.3: m->G: psk/all, good" \
Ronald Crondd0c8f92022-10-25 17:35:29 +02003155 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003156 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
3157 0 \
3158 -c "=> write client hello" \
3159 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3160 -c "client hello, adding psk_key_exchange_modes extension" \
3161 -c "client hello, adding PSK binder list" \
3162 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
3163 -s "Parsing extension 'Pre Shared Key/41'" \
3164 -c "<= write client hello" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00003165 -c "Selected key exchange mode: psk$" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003166 -c "HTTP/1.0 200 OK"
3167
3168requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3169requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003170requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3171requires_config_enabled MBEDTLS_DEBUG_C
3172requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003173requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003174run_test "TLS 1.3: m->G: psk/ephemeral_all, fail - no common kex mode" \
Ronald Crondd0c8f92022-10-25 17:35:29 +02003175 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003176 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
3177 1 \
3178 -c "=> write client hello" \
3179 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3180 -c "client hello, adding psk_key_exchange_modes extension" \
3181 -c "client hello, adding PSK binder list" \
3182 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
3183 -s "Parsing extension 'Pre Shared Key/41'" \
3184 -c "<= write client hello" \
3185 -c "Last error was: -0x7780 - SSL - A fatal alert message was received from our peer"
3186
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003187#GNUTLS-SERVER psk_all mode
3188requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3189requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003190requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3191requires_config_enabled MBEDTLS_DEBUG_C
3192requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003193requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
3194requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003195run_test "TLS 1.3: m->G: psk_all/all, good" \
Ronald Crondd0c8f92022-10-25 17:35:29 +02003196 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003197 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
3198 0 \
3199 -c "=> write client hello" \
3200 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3201 -c "client hello, adding psk_key_exchange_modes extension" \
3202 -c "client hello, adding PSK binder list" \
3203 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
3204 -s "Parsing extension 'Pre Shared Key/41'" \
3205 -c "<= write client hello" \
Ronald Crona709a0f2022-09-27 16:46:11 +02003206 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003207 -c "HTTP/1.0 200 OK"
3208
3209requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3210requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003211requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3212requires_config_enabled MBEDTLS_DEBUG_C
3213requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003214requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
3215requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Ronald Crona709a0f2022-09-27 16:46:11 +02003216run_test "TLS 1.3: m->G: psk_all/ephemeral_all, good" \
Ronald Crondd0c8f92022-10-25 17:35:29 +02003217 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003218 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Ronald Crona709a0f2022-09-27 16:46:11 +02003219 0 \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003220 -c "=> write client hello" \
3221 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3222 -c "client hello, adding psk_key_exchange_modes extension" \
3223 -c "client hello, adding PSK binder list" \
3224 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
3225 -s "Parsing extension 'Pre Shared Key/41'" \
3226 -c "<= write client hello" \
Ronald Crona709a0f2022-09-27 16:46:11 +02003227 -c "Selected key exchange mode: psk_ephemeral" \
3228 -c "HTTP/1.0 200 OK"
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003229
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003230#GNUTLS-SERVER psk_ephemeral mode
3231requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3232requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003233requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3234requires_config_enabled MBEDTLS_DEBUG_C
3235requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003236requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003237run_test "TLS 1.3: m->G: psk_ephemeral/all, good" \
Ronald Crondd0c8f92022-10-25 17:35:29 +02003238 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003239 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
3240 0 \
3241 -c "=> write client hello" \
3242 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3243 -c "client hello, adding psk_key_exchange_modes extension" \
3244 -c "client hello, adding PSK binder list" \
3245 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
3246 -s "Parsing extension 'Pre Shared Key/41'" \
3247 -c "<= write client hello" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00003248 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003249 -c "HTTP/1.0 200 OK"
3250
3251requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3252requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003253requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3254requires_config_enabled MBEDTLS_DEBUG_C
3255requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003256requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003257run_test "TLS 1.3: m->G: psk_ephemeral/ephemeral_all, good" \
Ronald Crondd0c8f92022-10-25 17:35:29 +02003258 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003259 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
3260 0 \
3261 -c "=> write client hello" \
3262 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3263 -c "client hello, adding psk_key_exchange_modes extension" \
3264 -c "client hello, adding PSK binder list" \
3265 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
3266 -s "Parsing extension 'Pre Shared Key/41'" \
3267 -c "<= write client hello" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00003268 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003269 -c "HTTP/1.0 200 OK"
3270
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003271#GNUTLS-SERVER ephemeral mode
3272requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3273requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003274requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3275requires_config_enabled MBEDTLS_DEBUG_C
3276requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003277requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003278run_test "TLS 1.3: m->G: ephemeral/all, good" \
Ronald Crondd0c8f92022-10-25 17:35:29 +02003279 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003280 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
3281 0 \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00003282 -c "Selected key exchange mode: ephemeral" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003283 -c "HTTP/1.0 200 OK"
3284
3285requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3286requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003287requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3288requires_config_enabled MBEDTLS_DEBUG_C
3289requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003290requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003291run_test "TLS 1.3: m->G: ephemeral/ephemeral_all, good" \
Ronald Crondd0c8f92022-10-25 17:35:29 +02003292 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003293 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
3294 0 \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00003295 -c "Selected key exchange mode: ephemeral" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003296 -c "HTTP/1.0 200 OK"
3297
3298#GNUTLS-SERVER ephemeral_all mode
3299requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3300requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003301requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3302requires_config_enabled MBEDTLS_DEBUG_C
3303requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003304requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
3305requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003306run_test "TLS 1.3: m->G: ephemeral_all/all, good" \
Ronald Crondd0c8f92022-10-25 17:35:29 +02003307 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003308 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
3309 0 \
3310 -c "=> write client hello" \
3311 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3312 -c "client hello, adding psk_key_exchange_modes extension" \
3313 -c "client hello, adding PSK binder list" \
3314 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
3315 -s "Parsing extension 'Pre Shared Key/41'" \
3316 -c "<= write client hello" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00003317 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003318 -c "HTTP/1.0 200 OK"
3319
3320requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3321requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003322requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3323requires_config_enabled MBEDTLS_DEBUG_C
3324requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003325requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
3326requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003327run_test "TLS 1.3: m->G: ephemeral_all/ephemeral_all, good" \
Ronald Crondd0c8f92022-10-25 17:35:29 +02003328 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003329 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
3330 0 \
3331 -c "=> write client hello" \
3332 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3333 -c "client hello, adding psk_key_exchange_modes extension" \
3334 -c "client hello, adding PSK binder list" \
3335 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
3336 -s "Parsing extension 'Pre Shared Key/41'" \
3337 -c "<= write client hello" \
Xiaokang Qianca343ae2022-09-28 02:07:54 +00003338 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003339 -c "HTTP/1.0 200 OK"
3340
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003341#GNUTLS-SERVER all mode
3342requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3343requires_gnutls_tls1_3
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003344requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3345requires_config_enabled MBEDTLS_DEBUG_C
3346requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003347requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
3348requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
3349requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003350run_test "TLS 1.3: m->G: all/all, good" \
Ronald Crondd0c8f92022-10-25 17:35:29 +02003351 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian198cefd2022-08-25 10:42:56 +00003352 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003353 0 \
3354 -c "=> write client hello" \
3355 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3356 -c "client hello, adding psk_key_exchange_modes extension" \
3357 -c "client hello, adding PSK binder list" \
3358 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
3359 -s "Parsing extension 'Pre Shared Key/41'" \
3360 -c "<= write client hello" \
Ronald Crona709a0f2022-09-27 16:46:11 +02003361 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003362 -c "HTTP/1.0 200 OK"
3363
3364requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3365requires_gnutls_tls1_3
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003366requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3367requires_config_enabled MBEDTLS_DEBUG_C
3368requires_config_enabled MBEDTLS_SSL_CLI_C
Ronald Cron59625842022-10-17 10:36:34 +02003369requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
3370requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
3371requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003372run_test "TLS 1.3: m->G: all/ephemeral_all, good" \
Ronald Crondd0c8f92022-10-25 17:35:29 +02003373 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian198cefd2022-08-25 10:42:56 +00003374 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003375 0 \
3376 -c "=> write client hello" \
3377 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3378 -c "client hello, adding psk_key_exchange_modes extension" \
3379 -c "client hello, adding PSK binder list" \
3380 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
3381 -s "Parsing extension 'Pre Shared Key/41'" \
3382 -c "<= write client hello" \
Ronald Crona709a0f2022-09-27 16:46:11 +02003383 -c "Selected key exchange mode: psk_ephemeral" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003384 -c "HTTP/1.0 200 OK"