blob: 629a998182c8b146c82fd8ea1b4dfb38f2243db3 [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 Yu673b0f92022-09-14 15:02:21 +080021get_srv_psk_list ()
22{
23 case $(( TESTS % 3 )) in
24 0) echo "psk_list=abc,dead,def,beef,Client_identity,6162636465666768696a6b6c6d6e6f70";;
25 1) echo "psk_list=abc,dead,Client_identity,6162636465666768696a6b6c6d6e6f70,def,beef";;
26 2) echo "psk_list=Client_identity,6162636465666768696a6b6c6d6e6f70,abc,dead,def,beef";;
27 esac
28}
Jerry Yu6a9beba2022-07-31 12:45:25 +080029
Jerry Yu66f35f22022-08-22 17:27:41 +080030requires_gnutls_tls1_3
Jerry Yu6a9beba2022-07-31 12:45:25 +080031requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
32requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
33requires_config_enabled MBEDTLS_SSL_SRV_C
34requires_config_enabled MBEDTLS_DEBUG_C
Jerry Yu9b83fa12022-07-31 13:13:51 +080035# SOME_ECDHE_ENABLED?
36requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
37 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu3e06fce2022-08-25 17:51:57 +080038run_test "TLS 1.3: PSK: No valid ciphersuite. G->m" \
Jerry Yu673b0f92022-09-14 15:02:21 +080039 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yu2185c0f2022-08-23 16:12:43 +080040 "$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 \
41 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
42 localhost" \
43 1 \
44 -s "found psk key exchange modes extension" \
45 -s "found pre_shared_key extension" \
46 -s "Found PSK_EPHEMERAL KEX MODE" \
47 -s "Found PSK KEX MODE" \
Jerry Yu3e06fce2022-08-25 17:51:57 +080048 -s "No matched ciphersuite"
Jerry Yu2185c0f2022-08-23 16:12:43 +080049
50requires_openssl_tls1_3
51requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
52requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
53requires_config_enabled MBEDTLS_SSL_SRV_C
54requires_config_enabled MBEDTLS_DEBUG_C
55# SOME_ECDHE_ENABLED?
56requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
57 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu3e06fce2022-08-25 17:51:57 +080058run_test "TLS 1.3: PSK: No valid ciphersuite. O->m" \
Jerry Yu673b0f92022-09-14 15:02:21 +080059 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yu2185c0f2022-08-23 16:12:43 +080060 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -ciphersuites TLS_AES_256_GCM_SHA384\
61 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
62 1 \
63 -s "found psk key exchange modes extension" \
64 -s "found pre_shared_key extension" \
65 -s "Found PSK_EPHEMERAL KEX MODE" \
66 -s "Found PSK KEX MODE" \
Jerry Yue7b4b582022-08-25 17:53:13 +080067 -s "No matched ciphersuite"
68
69
70requires_gnutls_tls1_3
71requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
72requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +080073run_test "TLS 1.3: G->m: ephemeral_all/psk, fail, no common kex mode" \
Jerry Yu673b0f92022-09-14 15:02:21 +080074 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +080075 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
76 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
77 localhost" \
78 1 \
79 -s "found psk key exchange modes extension" \
80 -s "found pre_shared_key extension" \
81 -s "Found PSK_EPHEMERAL KEX MODE" \
82 -S "Found PSK KEX MODE" \
83 -S "key exchange mode: psk$" \
84 -S "key exchange mode: psk_ephemeral" \
85 -S "key exchange mode: ephemeral"
86
87requires_gnutls_tls1_3
88requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
89requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +080090run_test "TLS 1.3: G->m: all/psk, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +080091 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +080092 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
93 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
94 localhost" \
95 0 \
96 -s "found psk key exchange modes extension" \
97 -s "found pre_shared_key extension" \
98 -s "Found PSK_EPHEMERAL KEX MODE" \
99 -s "Found PSK KEX MODE" \
100 -s "Pre shared key found" \
101 -S "No matched PSK or ticket" \
102 -s "key exchange mode: psk$" \
103 -S "key exchange mode: psk_ephemeral" \
104 -S "key exchange mode: ephemeral"
105
106requires_gnutls_tls1_3
107requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
108requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800109run_test "TLS 1.3: G->m: all/psk, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800110 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800111 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
112 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
113 localhost" \
114 1 \
115 -s "found psk key exchange modes extension" \
116 -s "found pre_shared_key extension" \
117 -s "Found PSK_EPHEMERAL KEX MODE" \
118 -s "Found PSK KEX MODE" \
119 -s "No matched PSK or ticket" \
120 -S "key exchange mode: psk$" \
121 -S "key exchange mode: psk_ephemeral" \
122 -S "key exchange mode: ephemeral"
123
124requires_gnutls_tls1_3
125requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
126requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800127run_test "TLS 1.3: G->m: all/psk, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800128 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800129 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
130 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
131 localhost" \
132 1 \
133 -s "found psk key exchange modes extension" \
134 -s "found pre_shared_key extension" \
135 -s "Found PSK_EPHEMERAL KEX MODE" \
136 -s "Found PSK KEX MODE" \
137 -s "Invalid binder." \
138 -S "key exchange mode: psk$" \
139 -S "key exchange mode: psk_ephemeral" \
140 -S "key exchange mode: ephemeral"
141
142requires_gnutls_tls1_3
143requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
144requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800145run_test "TLS 1.3: G->m: psk_or_ephemeral/psk, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800146 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800147 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
148 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
149 localhost" \
150 0 \
151 -s "found psk key exchange modes extension" \
152 -s "found pre_shared_key extension" \
153 -S "Found PSK_EPHEMERAL KEX MODE" \
154 -s "Found PSK KEX MODE" \
155 -s "Pre shared key found" \
156 -S "No matched PSK or ticket" \
157 -s "key exchange mode: psk$" \
158 -S "key exchange mode: psk_ephemeral" \
159 -S "key exchange mode: ephemeral"
160
161requires_gnutls_tls1_3
162requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
163requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800164run_test "TLS 1.3: G->m: psk_or_ephemeral/psk, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800165 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800166 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
167 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
168 localhost" \
169 1 \
170 -s "found psk key exchange modes extension" \
171 -s "found pre_shared_key extension" \
172 -S "Found PSK_EPHEMERAL KEX MODE" \
173 -s "Found PSK KEX MODE" \
174 -s "No matched PSK or ticket" \
175 -S "key exchange mode: psk$" \
176 -S "key exchange mode: psk_ephemeral" \
177 -S "key exchange mode: ephemeral"
178
179requires_gnutls_tls1_3
180requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
181requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800182run_test "TLS 1.3: G->m: psk_or_ephemeral/psk, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800183 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800184 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
185 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
186 localhost" \
187 1 \
188 -s "found psk key exchange modes extension" \
189 -s "found pre_shared_key extension" \
190 -S "Found PSK_EPHEMERAL KEX MODE" \
191 -s "Found PSK KEX MODE" \
192 -s "Invalid binder." \
193 -S "key exchange mode: psk$" \
194 -S "key exchange mode: psk_ephemeral" \
195 -S "key exchange mode: ephemeral"
196
197requires_gnutls_tls1_3
198requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
199requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
200requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800201run_test "TLS 1.3: G->m: ephemeral_all/psk_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800202 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800203 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
204 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
205 localhost" \
206 0 \
207 -s "found psk key exchange modes extension" \
208 -s "found pre_shared_key extension" \
209 -s "Found PSK_EPHEMERAL KEX MODE" \
210 -S "Found PSK KEX MODE" \
211 -s "Pre shared key found" \
212 -S "No matched PSK or ticket" \
213 -S "key exchange mode: psk$" \
214 -s "key exchange mode: psk_ephemeral" \
215 -S "key exchange mode: ephemeral"
216
217requires_gnutls_tls1_3
218requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
219requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
220requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800221run_test "TLS 1.3: G->m: ephemeral_all/psk_ephemeral, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800222 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral 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 wrong_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 "No matched PSK or ticket" \
232 -S "key exchange mode: psk$" \
233 -S "key exchange mode: psk_ephemeral" \
234 -S "key exchange mode: ephemeral"
235
236requires_gnutls_tls1_3
237requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
238requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
239requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800240run_test "TLS 1.3: G->m: ephemeral_all/psk_ephemeral, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800241 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800242 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
243 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
244 localhost" \
245 1 \
246 -s "found psk key exchange modes extension" \
247 -s "found pre_shared_key extension" \
248 -s "Found PSK_EPHEMERAL KEX MODE" \
249 -S "Found PSK KEX MODE" \
250 -s "Invalid binder." \
251 -S "key exchange mode: psk$" \
252 -S "key exchange mode: psk_ephemeral" \
253 -S "key exchange mode: ephemeral"
254
255requires_gnutls_tls1_3
256requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
257requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
258requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800259run_test "TLS 1.3: G->m: all/psk_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800260 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800261 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
262 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
263 localhost" \
264 0 \
265 -s "found psk key exchange modes extension" \
266 -s "found pre_shared_key extension" \
267 -s "Found PSK_EPHEMERAL KEX MODE" \
268 -s "Found PSK KEX MODE" \
269 -s "Pre shared key found" \
270 -S "No matched PSK or ticket" \
271 -S "key exchange mode: psk$" \
272 -s "key exchange mode: psk_ephemeral" \
273 -S "key exchange mode: ephemeral"
274
275requires_gnutls_tls1_3
276requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
277requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
278requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800279run_test "TLS 1.3: G->m: all/psk_ephemeral, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800280 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800281 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
282 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
283 localhost" \
284 1 \
285 -s "found psk key exchange modes extension" \
286 -s "found pre_shared_key extension" \
287 -s "Found PSK_EPHEMERAL KEX MODE" \
288 -s "Found PSK KEX MODE" \
289 -s "No matched PSK or ticket" \
290 -S "key exchange mode: psk$" \
291 -S "key exchange mode: psk_ephemeral" \
292 -S "key exchange mode: ephemeral"
293
294requires_gnutls_tls1_3
295requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
296requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
297requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800298run_test "TLS 1.3: G->m: all/psk_ephemeral, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800299 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800300 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
301 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
302 localhost" \
303 1 \
304 -s "found psk key exchange modes extension" \
305 -s "found pre_shared_key extension" \
306 -s "Found PSK_EPHEMERAL KEX MODE" \
307 -s "Found PSK KEX MODE" \
308 -s "Invalid binder." \
309 -S "key exchange mode: psk$" \
310 -S "key exchange mode: psk_ephemeral" \
311 -S "key exchange mode: ephemeral"
312
313requires_gnutls_tls1_3
314requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
315requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
316requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800317run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_ephemeral, fail, no common kex mode" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800318 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800319 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
320 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
321 localhost" \
322 1 \
323 -s "found psk key exchange modes extension" \
324 -s "found pre_shared_key extension" \
325 -S "Found PSK_EPHEMERAL KEX MODE" \
326 -s "Found PSK KEX MODE" \
327 -S "key exchange mode: psk$" \
328 -S "key exchange mode: psk_ephemeral" \
329 -S "key exchange mode: ephemeral"
330
331requires_gnutls_tls1_3
332requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
333requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
334requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800335run_test "TLS 1.3: G->m: ephemeral_all/psk_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800336 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800337 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
338 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
339 localhost" \
340 0 \
341 -s "found psk key exchange modes extension" \
342 -s "found pre_shared_key extension" \
343 -s "Found PSK_EPHEMERAL KEX MODE" \
344 -S "Found PSK KEX MODE" \
345 -s "Pre shared key found" \
346 -S "No matched PSK or ticket" \
347 -S "key exchange mode: psk$" \
348 -s "key exchange mode: psk_ephemeral" \
349 -S "key exchange mode: ephemeral"
350
351requires_gnutls_tls1_3
352requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
353requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
354requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800355run_test "TLS 1.3: G->m: ephemeral_all/psk_all, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800356 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800357 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
358 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
359 localhost" \
360 1 \
361 -s "found psk key exchange modes extension" \
362 -s "found pre_shared_key extension" \
363 -s "Found PSK_EPHEMERAL KEX MODE" \
364 -S "Found PSK KEX MODE" \
365 -s "No matched PSK or ticket" \
366 -S "key exchange mode: psk$" \
367 -S "key exchange mode: psk_ephemeral" \
368 -S "key exchange mode: ephemeral"
369
370requires_gnutls_tls1_3
371requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
372requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
373requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800374run_test "TLS 1.3: G->m: ephemeral_all/psk_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800375 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800376 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
377 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
378 localhost" \
379 1 \
380 -s "found psk key exchange modes extension" \
381 -s "found pre_shared_key extension" \
382 -s "Found PSK_EPHEMERAL KEX MODE" \
383 -S "Found PSK KEX MODE" \
384 -s "Invalid binder." \
385 -S "key exchange mode: psk$" \
386 -S "key exchange mode: psk_ephemeral" \
387 -S "key exchange mode: ephemeral"
388
389requires_gnutls_tls1_3
390requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
391requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
392requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800393run_test "TLS 1.3: G->m: all/psk_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800394 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800395 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
396 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
397 localhost" \
398 0 \
399 -s "found psk key exchange modes extension" \
400 -s "found pre_shared_key extension" \
401 -s "Found PSK_EPHEMERAL KEX MODE" \
402 -s "Found PSK KEX MODE" \
403 -s "Pre shared key found" \
404 -S "No matched PSK or ticket" \
405 -S "key exchange mode: psk$" \
406 -s "key exchange mode: psk_ephemeral" \
407 -S "key exchange mode: ephemeral"
408
409requires_gnutls_tls1_3
410requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
411requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
412requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800413run_test "TLS 1.3: G->m: all/psk_all, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800414 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800415 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
416 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
417 localhost" \
418 1 \
419 -s "found psk key exchange modes extension" \
420 -s "found pre_shared_key extension" \
421 -s "Found PSK_EPHEMERAL KEX MODE" \
422 -s "Found PSK KEX MODE" \
423 -s "No matched PSK or ticket" \
424 -S "key exchange mode: psk$" \
425 -S "key exchange mode: psk_ephemeral" \
426 -S "key exchange mode: ephemeral"
427
428requires_gnutls_tls1_3
429requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
430requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
431requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800432run_test "TLS 1.3: G->m: all/psk_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800433 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800434 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
435 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
436 localhost" \
437 1 \
438 -s "found psk key exchange modes extension" \
439 -s "found pre_shared_key extension" \
440 -s "Found PSK_EPHEMERAL KEX MODE" \
441 -s "Found PSK KEX MODE" \
442 -s "Invalid binder." \
443 -S "key exchange mode: psk$" \
444 -S "key exchange mode: psk_ephemeral" \
445 -S "key exchange mode: ephemeral"
446
447requires_gnutls_tls1_3
448requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
449requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
450requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800451run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800452 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800453 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
454 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
455 localhost" \
456 0 \
457 -s "found psk key exchange modes extension" \
458 -s "found pre_shared_key extension" \
459 -S "Found PSK_EPHEMERAL KEX MODE" \
460 -s "Found PSK KEX MODE" \
461 -s "Pre shared key found" \
462 -S "No matched PSK or ticket" \
463 -s "key exchange mode: psk$" \
464 -S "key exchange mode: psk_ephemeral" \
465 -S "key exchange mode: ephemeral"
466
467requires_gnutls_tls1_3
468requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
469requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
470requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800471run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_all, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800472 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800473 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
474 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
475 localhost" \
476 1 \
477 -s "found psk key exchange modes extension" \
478 -s "found pre_shared_key extension" \
479 -S "Found PSK_EPHEMERAL KEX MODE" \
480 -s "Found PSK KEX MODE" \
481 -s "No matched PSK or ticket" \
482 -S "key exchange mode: psk$" \
483 -S "key exchange mode: psk_ephemeral" \
484 -S "key exchange mode: ephemeral"
485
486requires_gnutls_tls1_3
487requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
488requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
489requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800490run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800491 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800492 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
493 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
494 localhost" \
495 1 \
496 -s "found psk key exchange modes extension" \
497 -s "found pre_shared_key extension" \
498 -S "Found PSK_EPHEMERAL KEX MODE" \
499 -s "Found PSK KEX MODE" \
500 -s "Invalid binder." \
501 -S "key exchange mode: psk$" \
502 -S "key exchange mode: psk_ephemeral" \
503 -S "key exchange mode: ephemeral"
504
505requires_gnutls_tls1_3
506requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
507requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
508requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800509run_test "TLS 1.3: G->m: ephemeral_all/ephemeral_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800510 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800511 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
512 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
513 localhost" \
514 0 \
515 -s "found psk key exchange modes extension" \
516 -s "found pre_shared_key extension" \
517 -s "Found PSK_EPHEMERAL KEX MODE" \
518 -S "Found PSK KEX MODE" \
519 -s "Pre shared key found" \
520 -S "No matched PSK or ticket" \
521 -S "key exchange mode: psk$" \
522 -s "key exchange mode: psk_ephemeral" \
523 -S "key exchange mode: ephemeral"
524
525requires_gnutls_tls1_3
526requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
527requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
528requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800529run_test "TLS 1.3: G->m: ephemeral_all/ephemeral_all, good, key id mismatch, dhe." \
Jerry Yu673b0f92022-09-14 15:02:21 +0800530 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800531 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
532 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
533 localhost" \
534 0 \
535 -s "found psk key exchange modes extension" \
536 -s "found pre_shared_key extension" \
537 -s "Found PSK_EPHEMERAL KEX MODE" \
538 -S "Found PSK KEX MODE" \
539 -s "No matched PSK or ticket" \
540 -S "key exchange mode: psk$" \
541 -S "key exchange mode: psk_ephemeral" \
542 -s "key exchange mode: ephemeral"
543
544requires_gnutls_tls1_3
545requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
546requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
547requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800548run_test "TLS 1.3: G->m: ephemeral_all/ephemeral_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800549 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800550 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
551 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
552 localhost" \
553 1 \
554 -s "found psk key exchange modes extension" \
555 -s "found pre_shared_key extension" \
556 -s "Found PSK_EPHEMERAL KEX MODE" \
557 -S "Found PSK KEX MODE" \
558 -s "Invalid binder." \
559 -S "key exchange mode: psk$" \
560 -S "key exchange mode: psk_ephemeral" \
561 -S "key exchange mode: ephemeral"
562
563requires_gnutls_tls1_3
564requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
565requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
566requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800567run_test "TLS 1.3: G->m: all/ephemeral_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800568 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800569 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
570 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
571 localhost" \
572 0 \
573 -s "found psk key exchange modes extension" \
574 -s "found pre_shared_key extension" \
575 -s "Found PSK_EPHEMERAL KEX MODE" \
576 -s "Found PSK KEX MODE" \
577 -s "Pre shared key found" \
578 -S "No matched PSK or ticket" \
579 -S "key exchange mode: psk$" \
580 -s "key exchange mode: psk_ephemeral" \
581 -S "key exchange mode: ephemeral"
582
583requires_gnutls_tls1_3
584requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
585requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
586requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800587run_test "TLS 1.3: G->m: all/ephemeral_all, good, key id mismatch, dhe." \
Jerry Yu673b0f92022-09-14 15:02:21 +0800588 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800589 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
590 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
591 localhost" \
592 0 \
593 -s "found psk key exchange modes extension" \
594 -s "found pre_shared_key extension" \
595 -s "Found PSK_EPHEMERAL KEX MODE" \
596 -s "Found PSK KEX MODE" \
597 -s "No matched PSK or ticket" \
598 -S "key exchange mode: psk$" \
599 -S "key exchange mode: psk_ephemeral" \
600 -s "key exchange mode: ephemeral"
601
602requires_gnutls_tls1_3
603requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
604requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
605requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800606run_test "TLS 1.3: G->m: all/ephemeral_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800607 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800608 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
609 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
610 localhost" \
611 1 \
612 -s "found psk key exchange modes extension" \
613 -s "found pre_shared_key extension" \
614 -s "Found PSK_EPHEMERAL KEX MODE" \
615 -s "Found PSK KEX MODE" \
616 -s "Invalid binder." \
617 -S "key exchange mode: psk$" \
618 -S "key exchange mode: psk_ephemeral" \
619 -S "key exchange mode: ephemeral"
620
621requires_gnutls_tls1_3
622requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
623requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
624requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800625run_test "TLS 1.3: G->m: psk_or_ephemeral/ephemeral_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800626 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800627 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
628 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
629 localhost" \
630 0 \
631 -s "found psk key exchange modes extension" \
632 -s "found pre_shared_key extension" \
633 -S "Found PSK_EPHEMERAL KEX MODE" \
634 -s "Found PSK KEX MODE" \
635 -s "Pre shared key found" \
636 -S "No matched PSK or ticket" \
637 -S "key exchange mode: psk$" \
638 -S "key exchange mode: psk_ephemeral" \
639 -s "key exchange mode: ephemeral"
640
641requires_gnutls_tls1_3
642requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
643requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
644requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800645run_test "TLS 1.3: G->m: ephemeral_all/all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800646 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800647 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
648 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
649 localhost" \
650 0 \
651 -s "found psk key exchange modes extension" \
652 -s "found pre_shared_key extension" \
653 -s "Found PSK_EPHEMERAL KEX MODE" \
654 -S "Found PSK KEX MODE" \
655 -s "Pre shared key found" \
656 -S "No matched PSK or ticket" \
657 -S "key exchange mode: psk$" \
658 -s "key exchange mode: psk_ephemeral" \
659 -S "key exchange mode: ephemeral"
660
661requires_gnutls_tls1_3
662requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
663requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
664requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800665run_test "TLS 1.3: G->m: ephemeral_all/all, good, key id mismatch, dhe." \
Jerry Yu673b0f92022-09-14 15:02:21 +0800666 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800667 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
668 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
669 localhost" \
670 0 \
671 -s "found psk key exchange modes extension" \
672 -s "found pre_shared_key extension" \
673 -s "Found PSK_EPHEMERAL KEX MODE" \
674 -S "Found PSK KEX MODE" \
675 -s "No matched PSK or ticket" \
676 -S "key exchange mode: psk$" \
677 -S "key exchange mode: psk_ephemeral" \
678 -s "key exchange mode: ephemeral"
679
680requires_gnutls_tls1_3
681requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
682requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
683requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800684run_test "TLS 1.3: G->m: ephemeral_all/all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800685 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800686 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
687 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
688 localhost" \
689 1 \
690 -s "found psk key exchange modes extension" \
691 -s "found pre_shared_key extension" \
692 -s "Found PSK_EPHEMERAL KEX MODE" \
693 -S "Found PSK KEX MODE" \
694 -s "Invalid binder." \
695 -S "key exchange mode: psk$" \
696 -S "key exchange mode: psk_ephemeral" \
697 -S "key exchange mode: ephemeral"
698
699requires_gnutls_tls1_3
700requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
701requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
702requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800703run_test "TLS 1.3: G->m: all/all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800704 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800705 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
706 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
707 localhost" \
708 0 \
709 -s "found psk key exchange modes extension" \
710 -s "found pre_shared_key extension" \
711 -s "Found PSK_EPHEMERAL KEX MODE" \
712 -s "Found PSK KEX MODE" \
713 -s "Pre shared key found" \
714 -S "No matched PSK or ticket" \
715 -S "key exchange mode: psk$" \
716 -s "key exchange mode: psk_ephemeral" \
717 -S "key exchange mode: ephemeral"
718
719requires_gnutls_tls1_3
720requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
721requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
722requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800723run_test "TLS 1.3: G->m: all/all, good, key id mismatch, dhe." \
Jerry Yu673b0f92022-09-14 15:02:21 +0800724 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800725 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
726 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
727 localhost" \
728 0 \
729 -s "found psk key exchange modes extension" \
730 -s "found pre_shared_key extension" \
731 -s "Found PSK_EPHEMERAL KEX MODE" \
732 -s "Found PSK KEX MODE" \
733 -s "No matched PSK or ticket" \
734 -S "key exchange mode: psk$" \
735 -S "key exchange mode: psk_ephemeral" \
736 -s "key exchange mode: ephemeral"
737
738requires_gnutls_tls1_3
739requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
740requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
741requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800742run_test "TLS 1.3: G->m: all/all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800743 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800744 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
745 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
746 localhost" \
747 1 \
748 -s "found psk key exchange modes extension" \
749 -s "found pre_shared_key extension" \
750 -s "Found PSK_EPHEMERAL KEX MODE" \
751 -s "Found PSK KEX MODE" \
752 -s "Invalid binder." \
753 -S "key exchange mode: psk$" \
754 -S "key exchange mode: psk_ephemeral" \
755 -S "key exchange mode: ephemeral"
756
757requires_gnutls_tls1_3
758requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
759requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
760requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800761run_test "TLS 1.3: G->m: psk_or_ephemeral/all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800762 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800763 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
764 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
765 localhost" \
766 0 \
767 -s "found psk key exchange modes extension" \
768 -s "found pre_shared_key extension" \
769 -S "Found PSK_EPHEMERAL KEX MODE" \
770 -s "Found PSK KEX MODE" \
771 -s "Pre shared key found" \
772 -S "No matched PSK or ticket" \
773 -S "key exchange mode: psk$" \
774 -S "key exchange mode: psk_ephemeral" \
775 -s "key exchange mode: ephemeral"
776
777requires_gnutls_tls1_3
778requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
779requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
780requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800781run_test "TLS 1.3: G->m: psk_or_ephemeral/all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800782 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800783 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
784 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
785 localhost" \
786 1 \
787 -s "found psk key exchange modes extension" \
788 -s "found pre_shared_key extension" \
789 -S "Found PSK_EPHEMERAL KEX MODE" \
790 -s "Found PSK KEX MODE" \
791 -s "Invalid binder." \
792 -S "key exchange mode: psk$" \
793 -S "key exchange mode: psk_ephemeral" \
794 -S "key exchange mode: ephemeral"
795
796requires_gnutls_tls1_3
797requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
798requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
799requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800800run_test "TLS 1.3: G->m: ephemeral_all/psk_or_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800801 "$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 +0800802 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
803 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
804 localhost" \
805 0 \
806 -s "found psk key exchange modes extension" \
807 -s "found pre_shared_key extension" \
808 -s "Found PSK_EPHEMERAL KEX MODE" \
809 -S "Found PSK KEX MODE" \
810 -s "Pre shared key found" \
811 -S "No matched PSK or ticket" \
812 -S "key exchange mode: psk$" \
813 -S "key exchange mode: psk_ephemeral" \
814 -s "key exchange mode: ephemeral"
815
816requires_gnutls_tls1_3
817requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
818requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
819requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800820run_test "TLS 1.3: G->m: all/psk_or_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800821 "$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 +0800822 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
823 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
824 localhost" \
825 0 \
826 -s "found psk key exchange modes extension" \
827 -s "found pre_shared_key extension" \
828 -s "Found PSK_EPHEMERAL KEX MODE" \
829 -s "Found PSK KEX MODE" \
830 -s "Pre shared key found" \
831 -S "No matched PSK or ticket" \
832 -S "key exchange mode: psk$" \
833 -S "key exchange mode: psk_ephemeral" \
834 -s "key exchange mode: ephemeral"
835
836requires_gnutls_tls1_3
837requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
838requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
839requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800840run_test "TLS 1.3: G->m: all/psk_or_ephemeral, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800841 "$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 +0800842 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
843 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
844 localhost" \
845 1 \
846 -s "found psk key exchange modes extension" \
847 -s "found pre_shared_key extension" \
848 -s "Found PSK_EPHEMERAL KEX MODE" \
849 -s "Found PSK KEX MODE" \
850 -s "Invalid binder." \
851 -S "key exchange mode: psk$" \
852 -S "key exchange mode: psk_ephemeral" \
853 -S "key exchange mode: ephemeral"
854
855requires_gnutls_tls1_3
856requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
857requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
858requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800859run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_or_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800860 "$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 +0800861 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
862 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
863 localhost" \
864 0 \
865 -s "found psk key exchange modes extension" \
866 -s "found pre_shared_key extension" \
867 -S "Found PSK_EPHEMERAL KEX MODE" \
868 -s "Found PSK KEX MODE" \
869 -s "Pre shared key found" \
870 -S "No matched PSK or ticket" \
871 -S "key exchange mode: psk$" \
872 -S "key exchange mode: psk_ephemeral" \
873 -s "key exchange mode: ephemeral"
874
875requires_gnutls_tls1_3
876requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
877requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
878requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu66886692022-08-31 17:08:34 +0800879run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_or_ephemeral, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800880 "$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 +0800881 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
882 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
883 localhost" \
884 1 \
885 -s "found psk key exchange modes extension" \
886 -s "found pre_shared_key extension" \
887 -S "Found PSK_EPHEMERAL KEX MODE" \
888 -s "Found PSK KEX MODE" \
889 -s "Invalid binder." \
890 -S "key exchange mode: psk$" \
891 -S "key exchange mode: psk_ephemeral" \
892 -S "key exchange mode: ephemeral"
893
Jerry Yu58af2332022-09-06 11:19:31 +0800894requires_gnutls_tls1_3
895requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
896requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
897requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
898run_test "TLS 1.3: G->m: psk_ephemeral group(secp256r1) check, good" \
899 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
900 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1 \
901 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
902 localhost" \
903 0 \
904 -s "write selected_group: secp256r1" \
905 -S "key exchange mode: psk$" \
906 -s "key exchange mode: psk_ephemeral" \
907 -S "key exchange mode: ephemeral"
908
909requires_gnutls_tls1_3
910requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
911requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
912requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
913run_test "TLS 1.3: G->m: psk_ephemeral group(secp384r1) check, good" \
914 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
915 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP384R1 \
916 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
917 localhost" \
918 0 \
919 -s "write selected_group: secp384r1" \
920 -S "key exchange mode: psk$" \
921 -s "key exchange mode: psk_ephemeral" \
922 -S "key exchange mode: ephemeral"
923
924requires_gnutls_tls1_3
925requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
926requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
927requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
928run_test "TLS 1.3: G->m: psk_ephemeral group(secp521r1) check, good" \
929 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
930 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP521R1 \
931 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
932 localhost" \
933 0 \
934 -s "write selected_group: secp521r1" \
935 -S "key exchange mode: psk$" \
936 -s "key exchange mode: psk_ephemeral" \
937 -S "key exchange mode: ephemeral"
938
939requires_gnutls_tls1_3
940requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
941requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
942requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
943run_test "TLS 1.3: G->m: psk_ephemeral group(x25519) check, good" \
944 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
945 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X25519 \
946 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
947 localhost" \
948 0 \
949 -s "write selected_group: x25519" \
950 -S "key exchange mode: psk$" \
951 -s "key exchange mode: psk_ephemeral" \
952 -S "key exchange mode: ephemeral"
953
954requires_gnutls_tls1_3
955requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
956requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
957requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
958run_test "TLS 1.3: G->m: psk_ephemeral group(x448) check, good" \
959 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
960 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-X448 \
961 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
962 localhost" \
963 0 \
964 -s "write selected_group: x448" \
965 -S "key exchange mode: psk$" \
966 -s "key exchange mode: psk_ephemeral" \
967 -S "key exchange mode: ephemeral"
968
Jerry Yue7b4b582022-08-25 17:53:13 +0800969requires_openssl_tls1_3
970requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
971requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +0800972run_test "TLS 1.3: O->m: ephemeral_all/psk, fail, no common kex mode" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800973 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800974 "$O_NEXT_CLI -tls1_3 -msg \
975 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
976 1 \
977 -s "found psk key exchange modes extension" \
978 -s "found pre_shared_key extension" \
979 -s "Found PSK_EPHEMERAL KEX MODE" \
980 -S "Found PSK KEX MODE" \
981 -S "key exchange mode: psk$" \
982 -S "key exchange mode: psk_ephemeral" \
983 -S "key exchange mode: ephemeral"
984
985requires_openssl_tls1_3
986requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
987requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +0800988run_test "TLS 1.3: O->m: all/psk, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +0800989 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800990 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
991 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
992 0 \
993 -s "found psk key exchange modes extension" \
994 -s "found pre_shared_key extension" \
995 -s "Found PSK_EPHEMERAL KEX MODE" \
996 -s "Found PSK KEX MODE" \
997 -s "Pre shared key found" \
998 -S "No matched PSK or ticket" \
999 -s "key exchange mode: psk$" \
1000 -S "key exchange mode: psk_ephemeral" \
1001 -S "key exchange mode: ephemeral"
1002
1003requires_openssl_tls1_3
1004requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1005requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001006run_test "TLS 1.3: O->m: all/psk, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001007 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001008 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1009 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1010 1 \
1011 -s "found psk key exchange modes extension" \
1012 -s "found pre_shared_key extension" \
1013 -s "Found PSK_EPHEMERAL KEX MODE" \
1014 -s "Found PSK KEX MODE" \
1015 -s "No matched PSK or ticket" \
1016 -S "key exchange mode: psk$" \
1017 -S "key exchange mode: psk_ephemeral" \
1018 -S "key exchange mode: ephemeral"
1019
1020requires_openssl_tls1_3
1021requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1022requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001023run_test "TLS 1.3: O->m: all/psk, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001024 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001025 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1026 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1027 1 \
1028 -s "found psk key exchange modes extension" \
1029 -s "found pre_shared_key extension" \
1030 -s "Found PSK_EPHEMERAL KEX MODE" \
1031 -s "Found PSK KEX MODE" \
1032 -s "Invalid binder." \
1033 -S "key exchange mode: psk$" \
1034 -S "key exchange mode: psk_ephemeral" \
1035 -S "key exchange mode: ephemeral"
1036
1037requires_openssl_tls1_3
1038requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1039requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1040requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001041run_test "TLS 1.3: O->m: ephemeral_all/psk_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001042 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001043 "$O_NEXT_CLI -tls1_3 -msg \
1044 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1045 0 \
1046 -s "found psk key exchange modes extension" \
1047 -s "found pre_shared_key extension" \
1048 -s "Found PSK_EPHEMERAL KEX MODE" \
1049 -S "Found PSK KEX MODE" \
1050 -s "Pre shared key found" \
1051 -S "No matched PSK or ticket" \
1052 -S "key exchange mode: psk$" \
1053 -s "key exchange mode: psk_ephemeral" \
1054 -S "key exchange mode: ephemeral"
1055
1056requires_openssl_tls1_3
1057requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1058requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1059requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001060run_test "TLS 1.3: O->m: ephemeral_all/psk_ephemeral, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001061 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001062 "$O_NEXT_CLI -tls1_3 -msg \
1063 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1064 1 \
1065 -s "found psk key exchange modes extension" \
1066 -s "found pre_shared_key extension" \
1067 -s "Found PSK_EPHEMERAL KEX MODE" \
1068 -S "Found PSK KEX MODE" \
1069 -s "No matched PSK or ticket" \
1070 -S "key exchange mode: psk$" \
1071 -S "key exchange mode: psk_ephemeral" \
1072 -S "key exchange mode: ephemeral"
1073
1074requires_openssl_tls1_3
1075requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1076requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1077requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001078run_test "TLS 1.3: O->m: ephemeral_all/psk_ephemeral, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001079 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001080 "$O_NEXT_CLI -tls1_3 -msg \
1081 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1082 1 \
1083 -s "found psk key exchange modes extension" \
1084 -s "found pre_shared_key extension" \
1085 -s "Found PSK_EPHEMERAL KEX MODE" \
1086 -S "Found PSK KEX MODE" \
1087 -s "Invalid binder." \
1088 -S "key exchange mode: psk$" \
1089 -S "key exchange mode: psk_ephemeral" \
1090 -S "key exchange mode: ephemeral"
1091
1092requires_openssl_tls1_3
1093requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1094requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1095requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001096run_test "TLS 1.3: O->m: all/psk_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001097 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001098 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1099 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1100 0 \
1101 -s "found psk key exchange modes extension" \
1102 -s "found pre_shared_key extension" \
1103 -s "Found PSK_EPHEMERAL KEX MODE" \
1104 -s "Found PSK KEX MODE" \
1105 -s "Pre shared key found" \
1106 -S "No matched PSK or ticket" \
1107 -S "key exchange mode: psk$" \
1108 -s "key exchange mode: psk_ephemeral" \
1109 -S "key exchange mode: ephemeral"
1110
1111requires_openssl_tls1_3
1112requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1113requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1114requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001115run_test "TLS 1.3: O->m: all/psk_ephemeral, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001116 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001117 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1118 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1119 1 \
1120 -s "found psk key exchange modes extension" \
1121 -s "found pre_shared_key extension" \
1122 -s "Found PSK_EPHEMERAL KEX MODE" \
1123 -s "Found PSK KEX MODE" \
1124 -s "No matched PSK or ticket" \
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
1131requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1132requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001133run_test "TLS 1.3: O->m: all/psk_ephemeral, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001134 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001135 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1136 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1137 1 \
1138 -s "found psk key exchange modes extension" \
1139 -s "found pre_shared_key extension" \
1140 -s "Found PSK_EPHEMERAL KEX MODE" \
1141 -s "Found PSK KEX MODE" \
1142 -s "Invalid binder." \
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
1149requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1150requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001151run_test "TLS 1.3: O->m: ephemeral_all/psk_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001152 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001153 "$O_NEXT_CLI -tls1_3 -msg \
1154 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1155 0 \
1156 -s "found psk key exchange modes extension" \
1157 -s "found pre_shared_key extension" \
1158 -s "Found PSK_EPHEMERAL KEX MODE" \
1159 -S "Found PSK KEX MODE" \
1160 -s "Pre shared key found" \
1161 -S "No matched PSK or ticket" \
1162 -S "key exchange mode: psk$" \
1163 -s "key exchange mode: psk_ephemeral" \
1164 -S "key exchange mode: ephemeral"
1165
1166requires_openssl_tls1_3
1167requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1168requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1169requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001170run_test "TLS 1.3: O->m: ephemeral_all/psk_all, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001171 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001172 "$O_NEXT_CLI -tls1_3 -msg \
1173 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1174 1 \
1175 -s "found psk key exchange modes extension" \
1176 -s "found pre_shared_key extension" \
1177 -s "Found PSK_EPHEMERAL KEX MODE" \
1178 -S "Found PSK KEX MODE" \
1179 -s "No matched PSK or ticket" \
1180 -S "key exchange mode: psk$" \
1181 -S "key exchange mode: psk_ephemeral" \
1182 -S "key exchange mode: ephemeral"
1183
1184requires_openssl_tls1_3
1185requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1186requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1187requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001188run_test "TLS 1.3: O->m: ephemeral_all/psk_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001189 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001190 "$O_NEXT_CLI -tls1_3 -msg \
1191 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1192 1 \
1193 -s "found psk key exchange modes extension" \
1194 -s "found pre_shared_key extension" \
1195 -s "Found PSK_EPHEMERAL KEX MODE" \
1196 -S "Found PSK KEX MODE" \
1197 -s "Invalid binder." \
1198 -S "key exchange mode: psk$" \
1199 -S "key exchange mode: psk_ephemeral" \
1200 -S "key exchange mode: ephemeral"
1201
1202requires_openssl_tls1_3
1203requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1204requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1205requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001206run_test "TLS 1.3: O->m: all/psk_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001207 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001208 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1209 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1210 0 \
1211 -s "found psk key exchange modes extension" \
1212 -s "found pre_shared_key extension" \
1213 -s "Found PSK_EPHEMERAL KEX MODE" \
1214 -s "Found PSK KEX MODE" \
1215 -s "Pre shared key found" \
1216 -S "No matched PSK or ticket" \
1217 -S "key exchange mode: psk$" \
1218 -s "key exchange mode: psk_ephemeral" \
1219 -S "key exchange mode: ephemeral"
1220
1221requires_openssl_tls1_3
1222requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1223requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1224requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001225run_test "TLS 1.3: O->m: all/psk_all, fail, key id mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001226 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001227 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1228 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1229 1 \
1230 -s "found psk key exchange modes extension" \
1231 -s "found pre_shared_key extension" \
1232 -s "Found PSK_EPHEMERAL KEX MODE" \
1233 -s "Found PSK KEX MODE" \
1234 -s "No matched PSK or ticket" \
1235 -S "key exchange mode: psk$" \
1236 -S "key exchange mode: psk_ephemeral" \
1237 -S "key exchange mode: ephemeral"
1238
1239requires_openssl_tls1_3
1240requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1241requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1242requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001243run_test "TLS 1.3: O->m: all/psk_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001244 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001245 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1246 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1247 1 \
1248 -s "found psk key exchange modes extension" \
1249 -s "found pre_shared_key extension" \
1250 -s "Found PSK_EPHEMERAL KEX MODE" \
1251 -s "Found PSK KEX MODE" \
1252 -s "Invalid binder." \
1253 -S "key exchange mode: psk$" \
1254 -S "key exchange mode: psk_ephemeral" \
1255 -S "key exchange mode: ephemeral"
1256
1257requires_openssl_tls1_3
1258requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1259requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1260requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001261run_test "TLS 1.3: O->m: ephemeral_all/ephemeral_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001262 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001263 "$O_NEXT_CLI -tls1_3 -msg \
1264 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1265 0 \
1266 -s "found psk key exchange modes extension" \
1267 -s "found pre_shared_key extension" \
1268 -s "Found PSK_EPHEMERAL KEX MODE" \
1269 -S "Found PSK KEX MODE" \
1270 -s "Pre shared key found" \
1271 -S "No matched PSK or ticket" \
1272 -S "key exchange mode: psk$" \
1273 -s "key exchange mode: psk_ephemeral" \
1274 -S "key exchange mode: ephemeral"
1275
1276requires_openssl_tls1_3
1277requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1278requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1279requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001280run_test "TLS 1.3: O->m: ephemeral_all/ephemeral_all, good, key id mismatch, dhe." \
Jerry Yu673b0f92022-09-14 15:02:21 +08001281 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001282 "$O_NEXT_CLI -tls1_3 -msg \
1283 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1284 0 \
1285 -s "found psk key exchange modes extension" \
1286 -s "found pre_shared_key extension" \
1287 -s "Found PSK_EPHEMERAL KEX MODE" \
1288 -S "Found PSK KEX MODE" \
1289 -s "No matched PSK or ticket" \
1290 -S "key exchange mode: psk$" \
1291 -S "key exchange mode: psk_ephemeral" \
1292 -s "key exchange mode: ephemeral"
1293
1294requires_openssl_tls1_3
1295requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1296requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1297requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001298run_test "TLS 1.3: O->m: ephemeral_all/ephemeral_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001299 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001300 "$O_NEXT_CLI -tls1_3 -msg \
1301 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1302 1 \
1303 -s "found psk key exchange modes extension" \
1304 -s "found pre_shared_key extension" \
1305 -s "Found PSK_EPHEMERAL KEX MODE" \
1306 -S "Found PSK KEX MODE" \
1307 -s "Invalid binder." \
1308 -S "key exchange mode: psk$" \
1309 -S "key exchange mode: psk_ephemeral" \
1310 -S "key exchange mode: ephemeral"
1311
1312requires_openssl_tls1_3
1313requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1314requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1315requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001316run_test "TLS 1.3: O->m: all/ephemeral_all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001317 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001318 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1319 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1320 0 \
1321 -s "found psk key exchange modes extension" \
1322 -s "found pre_shared_key extension" \
1323 -s "Found PSK_EPHEMERAL KEX MODE" \
1324 -s "Found PSK KEX MODE" \
1325 -s "Pre shared key found" \
1326 -S "No matched PSK or ticket" \
1327 -S "key exchange mode: psk$" \
1328 -s "key exchange mode: psk_ephemeral" \
1329 -S "key exchange mode: ephemeral"
1330
1331requires_openssl_tls1_3
1332requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1333requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1334requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001335run_test "TLS 1.3: O->m: all/ephemeral_all, good, key id mismatch, dhe." \
Jerry Yu673b0f92022-09-14 15:02:21 +08001336 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001337 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1338 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1339 0 \
1340 -s "found psk key exchange modes extension" \
1341 -s "found pre_shared_key extension" \
1342 -s "Found PSK_EPHEMERAL KEX MODE" \
1343 -s "Found PSK KEX MODE" \
1344 -s "No matched PSK or ticket" \
1345 -S "key exchange mode: psk$" \
1346 -S "key exchange mode: psk_ephemeral" \
1347 -s "key exchange mode: ephemeral"
1348
1349requires_openssl_tls1_3
1350requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1351requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1352requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001353run_test "TLS 1.3: O->m: all/ephemeral_all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001354 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001355 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1356 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1357 1 \
1358 -s "found psk key exchange modes extension" \
1359 -s "found pre_shared_key extension" \
1360 -s "Found PSK_EPHEMERAL KEX MODE" \
1361 -s "Found PSK KEX MODE" \
1362 -s "Invalid binder." \
1363 -S "key exchange mode: psk$" \
1364 -S "key exchange mode: psk_ephemeral" \
1365 -S "key exchange mode: ephemeral"
1366
1367requires_openssl_tls1_3
1368requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1369requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1370requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001371run_test "TLS 1.3: O->m: ephemeral_all/all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001372 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001373 "$O_NEXT_CLI -tls1_3 -msg \
1374 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1375 0 \
1376 -s "found psk key exchange modes extension" \
1377 -s "found pre_shared_key extension" \
1378 -s "Found PSK_EPHEMERAL KEX MODE" \
1379 -S "Found PSK KEX MODE" \
1380 -s "Pre shared key found" \
1381 -S "No matched PSK or ticket" \
1382 -S "key exchange mode: psk$" \
1383 -s "key exchange mode: psk_ephemeral" \
1384 -S "key exchange mode: ephemeral"
1385
1386requires_openssl_tls1_3
1387requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1388requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1389requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001390run_test "TLS 1.3: O->m: ephemeral_all/all, good, key id mismatch, dhe." \
Jerry Yu673b0f92022-09-14 15:02:21 +08001391 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001392 "$O_NEXT_CLI -tls1_3 -msg \
1393 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1394 0 \
1395 -s "found psk key exchange modes extension" \
1396 -s "found pre_shared_key extension" \
1397 -s "Found PSK_EPHEMERAL KEX MODE" \
1398 -S "Found PSK KEX MODE" \
1399 -s "No matched PSK or ticket" \
1400 -S "key exchange mode: psk$" \
1401 -S "key exchange mode: psk_ephemeral" \
1402 -s "key exchange mode: ephemeral"
1403
1404requires_openssl_tls1_3
1405requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1406requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1407requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001408run_test "TLS 1.3: O->m: ephemeral_all/all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001409 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001410 "$O_NEXT_CLI -tls1_3 -msg \
1411 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1412 1 \
1413 -s "found psk key exchange modes extension" \
1414 -s "found pre_shared_key extension" \
1415 -s "Found PSK_EPHEMERAL KEX MODE" \
1416 -S "Found PSK KEX MODE" \
1417 -s "Invalid binder." \
1418 -S "key exchange mode: psk$" \
1419 -S "key exchange mode: psk_ephemeral" \
1420 -S "key exchange mode: ephemeral"
1421
1422requires_openssl_tls1_3
1423requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1424requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1425requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001426run_test "TLS 1.3: O->m: all/all, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001427 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001428 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1429 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1430 0 \
1431 -s "found psk key exchange modes extension" \
1432 -s "found pre_shared_key extension" \
1433 -s "Found PSK_EPHEMERAL KEX MODE" \
1434 -s "Found PSK KEX MODE" \
1435 -s "Pre shared key found" \
1436 -S "No matched PSK or ticket" \
1437 -S "key exchange mode: psk$" \
1438 -s "key exchange mode: psk_ephemeral" \
1439 -S "key exchange mode: ephemeral"
1440
1441requires_openssl_tls1_3
1442requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1443requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1444requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001445run_test "TLS 1.3: O->m: all/all, good, key id mismatch, dhe." \
Jerry Yu673b0f92022-09-14 15:02:21 +08001446 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001447 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1448 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1449 0 \
1450 -s "found psk key exchange modes extension" \
1451 -s "found pre_shared_key extension" \
1452 -s "Found PSK_EPHEMERAL KEX MODE" \
1453 -s "Found PSK KEX MODE" \
1454 -s "No matched PSK or ticket" \
1455 -S "key exchange mode: psk$" \
1456 -S "key exchange mode: psk_ephemeral" \
1457 -s "key exchange mode: ephemeral"
1458
1459requires_openssl_tls1_3
1460requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1461requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1462requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001463run_test "TLS 1.3: O->m: all/all, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001464 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $(get_srv_psk_list)" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001465 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1466 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1467 1 \
1468 -s "found psk key exchange modes extension" \
1469 -s "found pre_shared_key extension" \
1470 -s "Found PSK_EPHEMERAL KEX MODE" \
1471 -s "Found PSK KEX MODE" \
1472 -s "Invalid binder." \
1473 -S "key exchange mode: psk$" \
1474 -S "key exchange mode: psk_ephemeral" \
1475 -S "key exchange mode: ephemeral"
1476
1477requires_openssl_tls1_3
1478requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1479requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1480requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu7101b872022-08-31 14:15:23 +08001481run_test "TLS 1.3: O->m: ephemeral_all/psk_or_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001482 "$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 +08001483 "$O_NEXT_CLI -tls1_3 -msg \
1484 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1485 0 \
1486 -s "found psk key exchange modes extension" \
1487 -s "found pre_shared_key extension" \
1488 -s "Found PSK_EPHEMERAL KEX MODE" \
1489 -S "Found PSK KEX MODE" \
1490 -s "Pre shared key found" \
1491 -S "No matched PSK or ticket" \
1492 -S "key exchange mode: psk$" \
1493 -S "key exchange mode: psk_ephemeral" \
1494 -s "key exchange mode: ephemeral"
1495
1496requires_openssl_tls1_3
1497requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1498requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1499requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001500run_test "TLS 1.3: O->m: all/psk_or_ephemeral, good" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001501 "$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 +08001502 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1503 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1504 0 \
1505 -s "found psk key exchange modes extension" \
1506 -s "found pre_shared_key extension" \
1507 -s "Found PSK_EPHEMERAL KEX MODE" \
1508 -s "Found PSK KEX MODE" \
1509 -s "Pre shared key found" \
1510 -S "No matched PSK or ticket" \
1511 -S "key exchange mode: psk$" \
1512 -S "key exchange mode: psk_ephemeral" \
1513 -s "key exchange mode: ephemeral"
1514
1515requires_openssl_tls1_3
1516requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1517requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1518requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu63d40e62022-08-29 20:38:39 +08001519run_test "TLS 1.3: O->m: all/psk_or_ephemeral, fail, key material mismatch" \
Jerry Yu673b0f92022-09-14 15:02:21 +08001520 "$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 +08001521 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1522 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1523 1 \
1524 -s "found psk key exchange modes extension" \
1525 -s "found pre_shared_key extension" \
1526 -s "Found PSK_EPHEMERAL KEX MODE" \
1527 -s "Found PSK KEX MODE" \
1528 -s "Invalid binder." \
1529 -S "key exchange mode: psk$" \
1530 -S "key exchange mode: psk_ephemeral" \
1531 -S "key exchange mode: ephemeral"
Jerry Yu58af2332022-09-06 11:19:31 +08001532
1533requires_openssl_tls1_3
1534requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1535requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1536requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1537run_test "TLS 1.3: O->m: psk_ephemeral group(secp256r1) check, good" \
1538 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
1539 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -groups P-256 \
1540 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1541 0 \
1542 -s "write selected_group: secp256r1" \
1543 -S "key exchange mode: psk$" \
1544 -s "key exchange mode: psk_ephemeral" \
1545 -S "key exchange mode: ephemeral"
1546
1547requires_openssl_tls1_3
1548requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1549requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1550requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1551run_test "TLS 1.3: O->m: psk_ephemeral group(secp384r1) check, good" \
1552 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
1553 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -groups secp384r1 \
1554 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1555 0 \
1556 -s "write selected_group: secp384r1" \
1557 -S "key exchange mode: psk$" \
1558 -s "key exchange mode: psk_ephemeral" \
1559 -S "key exchange mode: ephemeral"
1560
1561requires_openssl_tls1_3
1562requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1563requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1564requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1565run_test "TLS 1.3: O->m: psk_ephemeral group(secp521r1) check, good" \
1566 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
1567 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -groups secp521r1 \
1568 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1569 0 \
1570 -s "write selected_group: secp521r1" \
1571 -S "key exchange mode: psk$" \
1572 -s "key exchange mode: psk_ephemeral" \
1573 -S "key exchange mode: ephemeral"
1574
1575requires_openssl_tls1_3
1576requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1577requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1578requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1579run_test "TLS 1.3: O->m: psk_ephemeral group(x25519) check, good" \
1580 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
1581 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -groups X25519 \
1582 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1583 0 \
1584 -s "write selected_group: x25519" \
1585 -S "key exchange mode: psk$" \
1586 -s "key exchange mode: psk_ephemeral" \
1587 -S "key exchange mode: ephemeral"
1588
1589requires_openssl_tls1_3
1590requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1591requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1592requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1593run_test "TLS 1.3: O->m: psk_ephemeral group(x448) check, good" \
1594 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_identity=Client_identity psk=6162636465666768696a6b6c6d6e6f70" \
1595 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -groups X448 \
1596 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1597 0 \
1598 -s "write selected_group: x448" \
1599 -S "key exchange mode: psk$" \
1600 -s "key exchange mode: psk_ephemeral" \
1601 -S "key exchange mode: ephemeral"
Jerry Yu2db49df2022-09-21 11:03:28 +08001602
1603requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1604requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1605requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1606requires_openssl_tls1_3
1607run_test "TLS 1.3 O->m: psk_ephemeral group(secp256r1->secp384r1) check, good" \
Jerry Yu93706122022-09-21 22:44:24 +08001608 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_list=Client_identity,6162636465666768696a6b6c6d6e6f70,abc,dead,def,beef curves=secp384r1" \
1609 "$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 +08001610 0 \
1611 -s "write selected_group: secp384r1" \
1612 -s "HRR selected_group: secp384r1" \
1613 -S "key exchange mode: psk$" \
1614 -s "key exchange mode: psk_ephemeral" \
1615 -S "key exchange mode: ephemeral"
1616
1617requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1618requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1619requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1620requires_gnutls_tls1_3
1621requires_gnutls_next_no_ticket
1622requires_gnutls_next_disable_tls13_compat
1623run_test "TLS 1.3 G->m: psk_ephemeral group(secp256r1->secp384r1) check, good" \
Jerry Yu93706122022-09-21 22:44:24 +08001624 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_list=Client_identity,6162636465666768696a6b6c6d6e6f70,abc,dead,def,beef curves=secp384r1" \
1625 "$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 +08001626 0 \
1627 -s "write selected_group: secp384r1" \
1628 -s "HRR selected_group: secp384r1" \
1629 -S "key exchange mode: psk$" \
1630 -s "key exchange mode: psk_ephemeral" \
1631 -S "key exchange mode: ephemeral"
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00001632
1633
1634# Add psk test cases for mbedtls client code
1635
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001636# MbedTls->MbedTLS kinds of tls13_kex_modes
1637# PSK mode in client
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00001638requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1639requires_config_enabled MBEDTLS_SSL_SRV_C
1640requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001641run_test "TLS 1.3: m->m: psk/psk, good" \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00001642 "$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 +00001643 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00001644 0 \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00001645 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1646 -c "client hello, adding psk_key_exchange_modes extension" \
1647 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001648 -c "Server selected key exchange mode: psk" \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00001649 -c "HTTP/1.0 200 OK"
1650
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001651requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1652requires_config_enabled MBEDTLS_SSL_SRV_C
1653requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001654run_test "TLS 1.3: m->m: psk/psk, fail - no common id" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001655 "$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 +00001656 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001657 1 \
1658 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1659 -c "client hello, adding psk_key_exchange_modes extension" \
1660 -c "client hello, adding PSK binder list" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001661 -s "No matched PSK or ticket"
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001662
1663requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1664requires_config_enabled MBEDTLS_SSL_SRV_C
1665requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001666run_test "TLS 1.3: m->m: psk/psk, fail - no common psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001667 "$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 +00001668 "$P_CLI nbio=2 debug_level=5 psk_identity=0a0b0c psk=040506 tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001669 1 \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001670 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001671 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001672 -c "client hello, adding PSK binder list" \
1673 -s "Invalid binder."
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001674
1675requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1676requires_config_enabled MBEDTLS_SSL_SRV_C
1677requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001678run_test "TLS 1.3: m->m: psk/psk_ephemeral, fail - no common kex mode" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001679 "$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 +00001680 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001681 1 \
1682 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1683 -c "client hello, adding psk_key_exchange_modes extension" \
1684 -c "client hello, adding PSK binder list" \
1685 -s "ClientHello message misses mandatory extensions."
1686
1687requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1688requires_config_enabled MBEDTLS_SSL_SRV_C
1689requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001690run_test "TLS 1.3: m->m: psk/ephemeral, fail - no common kex mode" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001691 "$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 +00001692 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001693 1 \
1694 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1695 -c "client hello, adding psk_key_exchange_modes extension" \
1696 -c "client hello, adding PSK binder list" \
1697 -s "ClientHello message misses mandatory extensions."
1698
1699requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1700requires_config_enabled MBEDTLS_SSL_SRV_C
1701requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001702run_test "TLS 1.3: m->m: psk/ephemeral_all, fail - no common kex mode" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001703 "$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 +00001704 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001705 1 \
1706 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1707 -c "client hello, adding psk_key_exchange_modes extension" \
1708 -c "client hello, adding PSK binder list" \
1709 -s "ClientHello message misses mandatory extensions."
1710
1711requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1712requires_config_enabled MBEDTLS_SSL_SRV_C
1713requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001714run_test "TLS 1.3: m->m: psk/psk_all, good" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001715 "$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 +00001716 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001717 0 \
1718 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1719 -c "client hello, adding psk_key_exchange_modes extension" \
1720 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001721 -c "Server selected key exchange mode: psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001722 -c "HTTP/1.0 200 OK"
1723
1724requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1725requires_config_enabled MBEDTLS_SSL_SRV_C
1726requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001727run_test "TLS 1.3: m->m: psk/psk_all, fail - no common id" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001728 "$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 +00001729 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001730 1 \
1731 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1732 -c "client hello, adding psk_key_exchange_modes extension" \
1733 -c "client hello, adding PSK binder list" \
1734 -s "No matched PSK or ticket" \
1735 -s "ClientHello message misses mandatory extensions."
1736
1737requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1738requires_config_enabled MBEDTLS_SSL_SRV_C
1739requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001740run_test "TLS 1.3: m->m: psk/psk_all, fail - no common psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001741 "$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 +00001742 "$P_CLI nbio=2 debug_level=5 psk_identity=0a0b0c psk=040506 tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001743 1 \
Xiaokang Qian89399302022-09-21 07:16:22 +00001744 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001745 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qian89399302022-09-21 07:16:22 +00001746 -c "client hello, adding PSK binder list" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001747 -s "Invalid binder."
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001748
1749requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1750requires_config_enabled MBEDTLS_SSL_SRV_C
1751requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001752run_test "TLS 1.3: m->m: psk/all, good" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001753 "$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 +00001754 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001755 0 \
1756 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1757 -c "client hello, adding psk_key_exchange_modes extension" \
1758 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001759 -c "Server selected key exchange mode: psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001760 -c "HTTP/1.0 200 OK"
1761
1762requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1763requires_config_enabled MBEDTLS_SSL_SRV_C
1764requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001765run_test "TLS 1.3: m->m: psk/all, fail - no common id" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001766 "$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 +00001767 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001768 1 \
1769 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1770 -c "client hello, adding psk_key_exchange_modes extension" \
1771 -c "client hello, adding PSK binder list" \
1772 -s "No matched PSK or ticket" \
1773 -s "ClientHello message misses mandatory extensions."
1774
1775requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1776requires_config_enabled MBEDTLS_SSL_SRV_C
1777requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001778run_test "TLS 1.3: m->m: psk/all, fail - no common psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001779 "$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 +00001780 "$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 +00001781 1 \
Xiaokang Qian89399302022-09-21 07:16:22 +00001782 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001783 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qian89399302022-09-21 07:16:22 +00001784 -c "client hello, adding PSK binder list" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001785 -s "Invalid binder."
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001786
1787# psk_ephemeral mode in client
1788requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1789requires_config_enabled MBEDTLS_SSL_SRV_C
1790requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001791run_test "TLS 1.3: m->m: psk_ephemeral/psk, fail - no common kex mode" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001792 "$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 +00001793 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001794 1 \
1795 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1796 -c "client hello, adding psk_key_exchange_modes extension" \
1797 -c "client hello, adding PSK binder list" \
1798 -s "ClientHello message misses mandatory extensions."
1799
1800requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1801requires_config_enabled MBEDTLS_SSL_SRV_C
1802requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001803run_test "TLS 1.3: m->m: psk_ephemeral/psk_ephemeral, good" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001804 "$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 +00001805 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001806 0 \
1807 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1808 -c "client hello, adding psk_key_exchange_modes extension" \
1809 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001810 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001811 -c "HTTP/1.0 200 OK"
1812
1813requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1814requires_config_enabled MBEDTLS_SSL_SRV_C
1815requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001816run_test "TLS 1.3: m->m: psk_ephemeral/psk_ephemeral, fail - no common id" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001817 "$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 +00001818 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001819 1 \
1820 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1821 -c "client hello, adding psk_key_exchange_modes extension" \
1822 -c "client hello, adding PSK binder list" \
1823 -s "No matched PSK or ticket" \
1824 -s "ClientHello message misses mandatory extensions."
1825
1826requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1827requires_config_enabled MBEDTLS_SSL_SRV_C
1828requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001829run_test "TLS 1.3: m->m: psk_ephemeral/psk_ephemeral, fail - no common psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001830 "$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 +00001831 "$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 +00001832 1 \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001833 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001834 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001835 -c "client hello, adding PSK binder list" \
1836 -s "Invalid binder."
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001837
Xiaokang Qian210727f2022-09-23 07:25:40 +00001838"""
1839 Currently server side will not check whether client
1840 support ephemeral mode or not, it will cause improper
1841 fallback. It's a bit complicated cause there is no good
1842 way to pass the ephemeral kex mode from client to server,
1843 will create one issue to solve the bug.
1844 Skip this test case temporarily.
1845"""
1846SKIP_NEXT="YES"
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001847requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1848requires_config_enabled MBEDTLS_SSL_SRV_C
1849requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian210727f2022-09-23 07:25:40 +00001850requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
1851requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1852requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001853run_test "TLS 1.3: m->m: psk_ephemeral/ephemeral, fail - no common kex mode" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001854 "$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 +00001855 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001856 1 \
1857 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1858 -c "client hello, adding psk_key_exchange_modes extension" \
1859 -c "client hello, adding PSK binder list" \
1860 -s "ClientHello message misses mandatory extensions."
1861
1862requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1863requires_config_enabled MBEDTLS_SSL_SRV_C
1864requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001865run_test "TLS 1.3: m->m: psk_ephemeral/ephemeral_all, good" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001866 "$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 +00001867 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001868 0 \
1869 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1870 -c "client hello, adding psk_key_exchange_modes extension" \
1871 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001872 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001873 -c "HTTP/1.0 200 OK"
1874
Xiaokang Qian210727f2022-09-23 07:25:40 +00001875# Skip this test case temporarily.
1876SKIP_NEXT="YES"
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001877requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
Xiaokang Qian210727f2022-09-23 07:25:40 +00001878requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001879requires_config_enabled MBEDTLS_SSL_SRV_C
1880requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian210727f2022-09-23 07:25:40 +00001881requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
1882requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001883run_test "TLS 1.3: m->m: psk_ephemeral/ephemeral_all, fail - no common id" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001884 "$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 +00001885 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001886 1 \
1887 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1888 -c "client hello, adding psk_key_exchange_modes extension" \
1889 -c "client hello, adding PSK binder list" \
1890 -s "No matched PSK or ticket" \
1891 -s "ClientHello message misses mandatory extensions."
1892
1893requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1894requires_config_enabled MBEDTLS_SSL_SRV_C
1895requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001896run_test "TLS 1.3: m->m: psk_ephemeral/ephemeral_all, fail - no common psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001897 "$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 +00001898 "$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 +00001899 1 \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001900 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001901 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiancffb18c2022-09-13 01:58:07 +00001902 -c "client hello, adding PSK binder list" \
1903 -s "Invalid binder."
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001904
1905requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1906requires_config_enabled MBEDTLS_SSL_SRV_C
1907requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001908run_test "TLS 1.3: m->m: psk_ephemeral/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=psk_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_ephemeral" \
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 Qian8f7d7c72022-09-07 10:10:16 +00001915 -c "Server selected key exchange mode: psk_ephemeral" \
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
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001921run_test "TLS 1.3: m->m: psk_ephemeral/psk_all, fail - no common id" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001922 "$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 +00001923 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001924 1 \
1925 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1926 -c "client hello, adding psk_key_exchange_modes extension" \
1927 -c "client hello, adding PSK binder list" \
1928 -s "No matched PSK or ticket" \
1929 -s "ClientHello message misses mandatory extensions."
1930
1931requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1932requires_config_enabled MBEDTLS_SSL_SRV_C
1933requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001934run_test "TLS 1.3: m->m: psk_ephemeral/psk_all, fail - no common psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001935 "$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 +00001936 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001937 1 \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00001938 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001939 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00001940 -c "client hello, adding PSK binder list" \
1941 -s "Invalid binder."
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001942
1943requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1944requires_config_enabled MBEDTLS_SSL_SRV_C
1945requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001946run_test "TLS 1.3: m->m: psk_ephemeral/all, good" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001947 "$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 +00001948 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001949 0 \
1950 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1951 -c "client hello, adding psk_key_exchange_modes extension" \
1952 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001953 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001954 -c "HTTP/1.0 200 OK"
1955
Xiaokang Qian210727f2022-09-23 07:25:40 +00001956# Skip this test case temporarily.
1957SKIP_NEXT="YES"
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001958requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1959requires_config_enabled MBEDTLS_SSL_SRV_C
1960requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001961run_test "TLS 1.3: m->m: psk_ephemeral/all, fail - no common id" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001962 "$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 +00001963 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001964 1 \
1965 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
1966 -c "client hello, adding psk_key_exchange_modes extension" \
1967 -c "client hello, adding PSK binder list" \
1968 -s "No matched PSK or ticket" \
1969 -s "ClientHello message misses mandatory extensions."
1970
1971requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1972requires_config_enabled MBEDTLS_SSL_SRV_C
1973requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001974run_test "TLS 1.3: m->m: psk_ephemeral/all, fail - no common psk" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001975 "$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 +00001976 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001977 1 \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00001978 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001979 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00001980 -c "client hello, adding PSK binder list" \
1981 -s "Invalid binder."
Xiaokang Qianf9b694b2022-08-25 08:48:51 +00001982
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00001983# ephemeral mode in client
1984requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1985requires_config_enabled MBEDTLS_SSL_SRV_C
1986requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001987run_test "TLS 1.3: m->m: ephemeral/psk, fail - no common kex mode" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00001988 "$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 +00001989 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00001990 1 \
1991 -s "ClientHello message misses mandatory extensions."
1992
1993requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
1994requires_config_enabled MBEDTLS_SSL_SRV_C
1995requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00001996run_test "TLS 1.3: m->m: ephemeral/psk_ephemeral, fail - no common kex mode" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00001997 "$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 +00001998 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00001999 1 \
2000 -s "ClientHello message misses mandatory extensions."
2001
2002requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2003requires_config_enabled MBEDTLS_SSL_SRV_C
2004requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002005run_test "TLS 1.3: m->m: ephemeral/ephemeral, good" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002006 "$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 +00002007 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002008 0 \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002009 -c "Server selected key exchange mode: ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002010 -c "HTTP/1.0 200 OK"
2011
2012requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2013requires_config_enabled MBEDTLS_SSL_SRV_C
2014requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002015run_test "TLS 1.3: m->m: ephemeral/ephemeral_all, good" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002016 "$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 +00002017 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002018 0 \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002019 -c "Server selected key exchange mode: ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002020 -c "HTTP/1.0 200 OK"
2021
2022requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2023requires_config_enabled MBEDTLS_SSL_SRV_C
2024requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002025run_test "TLS 1.3: m->m: ephemeral/psk_all, fail - no common kex mode" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002026 "$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 +00002027 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002028 1 \
2029 -s "ClientHello message misses mandatory extensions."
2030
2031requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2032requires_config_enabled MBEDTLS_SSL_SRV_C
2033requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002034run_test "TLS 1.3: m->m: ephemeral/all, good" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002035 "$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 +00002036 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002037 0 \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002038 -c "Server selected key exchange mode: ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002039 -c "HTTP/1.0 200 OK"
2040
2041# ephemeral_all mode in client
2042requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2043requires_config_enabled MBEDTLS_SSL_SRV_C
2044requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002045run_test "TLS 1.3: m->m: ephemeral_all/psk, fail - no common kex mode" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002046 "$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 +00002047 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002048 1 \
2049 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2050 -c "client hello, adding psk_key_exchange_modes extension" \
2051 -c "client hello, adding PSK binder list" \
2052 -s "ClientHello message misses mandatory extensions."
2053
2054requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2055requires_config_enabled MBEDTLS_SSL_SRV_C
2056requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002057run_test "TLS 1.3: m->m: ephemeral_all/psk_ephemeral, good" \
Xiaokang Qian210727f2022-09-23 07:25:40 +00002058 "$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 +00002059 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002060 0 \
2061 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2062 -c "client hello, adding psk_key_exchange_modes extension" \
2063 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002064 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002065 -c "HTTP/1.0 200 OK"
2066
2067requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2068requires_config_enabled MBEDTLS_SSL_SRV_C
2069requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002070run_test "TLS 1.3: m->m: ephemeral_all/psk_ephemeral, fail - no common id" \
Xiaokang Qian210727f2022-09-23 07:25:40 +00002071 "$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 +00002072 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=ephemeral_all" \
Xiaokang Qian210727f2022-09-23 07:25:40 +00002073 1 \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002074 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2075 -c "client hello, adding psk_key_exchange_modes extension" \
2076 -c "client hello, adding PSK binder list" \
Xiaokang Qian210727f2022-09-23 07:25:40 +00002077 -s "No matched PSK or ticket"
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002078
2079requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2080requires_config_enabled MBEDTLS_SSL_SRV_C
2081requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002082run_test "TLS 1.3: m->m: ephemeral_all/psk_ephemeral, fail - no common psk" \
Xiaokang Qian210727f2022-09-23 07:25:40 +00002083 "$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 +00002084 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
2085 1 \
2086 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002087 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002088 -c "client hello, adding PSK binder list" \
2089 -s "Invalid binder."
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002090
2091requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2092requires_config_enabled MBEDTLS_SSL_SRV_C
2093requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002094run_test "TLS 1.3: m->m: ephemeral_all/ephemeral, good" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002095 "$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 +00002096 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002097 0 \
2098 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2099 -c "client hello, adding psk_key_exchange_modes extension" \
2100 -c "client hello, adding PSK binder list" \
2101 -s "key exchange mode: ephemeral" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002102 -c "Server selected key exchange mode: ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002103 -c "HTTP/1.0 200 OK"
2104
2105requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2106requires_config_enabled MBEDTLS_SSL_SRV_C
2107requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002108run_test "TLS 1.3: m->m: ephemeral_all/ephemeral_all, good" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002109 "$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 +00002110 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002111 0 \
2112 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2113 -c "client hello, adding psk_key_exchange_modes extension" \
2114 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002115 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002116 -c "HTTP/1.0 200 OK"
2117
2118requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2119requires_config_enabled MBEDTLS_SSL_SRV_C
2120requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002121run_test "TLS 1.3: m->m: ephemeral_all/ephemeral_all,good,no common id,fallback to ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002122 "$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 +00002123 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002124 0 \
2125 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2126 -c "client hello, adding psk_key_exchange_modes extension" \
2127 -c "client hello, adding PSK binder list" \
2128 -s "No matched PSK or ticket" \
2129 -s "key exchange mode: ephemeral"
2130
2131requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2132requires_config_enabled MBEDTLS_SSL_SRV_C
2133requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002134run_test "TLS 1.3: m->m: ephemeral_all/ephemeral_all,good,no common psk,fallback to ephemeral" \
2135 "$P_SRV nbio=2 debug_level=5 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
2136 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0d0e0f tls13_kex_modes=ephemeral_all" \
2137 0 \
2138 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2139 -c "client hello, adding psk_key_exchange_modes extension" \
2140 -c "client hello, adding PSK binder list" \
2141 -s "No matched PSK or ticket" \
2142 -s "key exchange mode: ephemeral"
2143
2144requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2145requires_config_enabled MBEDTLS_SSL_SRV_C
2146requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002147run_test "TLS 1.3: m->m: ephemeral_all/psk_all, good" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002148 "$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 +00002149 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002150 0 \
2151 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2152 -c "client hello, adding psk_key_exchange_modes extension" \
2153 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002154 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002155 -c "HTTP/1.0 200 OK"
2156
2157requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2158requires_config_enabled MBEDTLS_SSL_SRV_C
2159requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002160run_test "TLS 1.3: m->m: ephemeral_all/psk_all, fail - no common id" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002161 "$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 +00002162 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002163 1 \
2164 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2165 -c "client hello, adding psk_key_exchange_modes extension" \
2166 -c "client hello, adding PSK binder list" \
2167 -s "No matched PSK or ticket" \
2168 -s "ClientHello message misses mandatory extensions."
2169
2170requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2171requires_config_enabled MBEDTLS_SSL_SRV_C
2172requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002173run_test "TLS 1.3: m->m: ephemeral_all/psk_all, fail - no common psk" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002174 "$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 +00002175 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002176 1 \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002177 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002178 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002179 -c "client hello, adding PSK binder list" \
2180 -s "Invalid binder."
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002181
2182requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2183requires_config_enabled MBEDTLS_SSL_SRV_C
2184requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002185run_test "TLS 1.3: m->m: ephemeral_all/all, good" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002186 "$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 +00002187 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002188 0 \
2189 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2190 -c "client hello, adding psk_key_exchange_modes extension" \
2191 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002192 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002193 -c "HTTP/1.0 200 OK"
2194
2195requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2196requires_config_enabled MBEDTLS_SSL_SRV_C
2197requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002198run_test "TLS 1.3: m->m: ephemeral_all/all, fail - no common id" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002199 "$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 +00002200 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=ephemeral_all" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002201 0 \
2202 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2203 -c "client hello, adding psk_key_exchange_modes extension" \
2204 -c "client hello, adding PSK binder list" \
2205 -s "No matched PSK or ticket" \
2206 -s "key exchange mode: ephemeral"
2207
2208requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2209requires_config_enabled MBEDTLS_SSL_SRV_C
2210requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002211run_test "TLS 1.3: m->m: ephemeral_all/all, fail - no common psk" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002212 "$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 +00002213 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
2214 1 \
2215 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002216 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002217 -c "client hello, adding PSK binder list" \
2218 -s "Invalid binder."
Xiaokang Qianca48ddd2022-08-29 08:25:17 +00002219
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002220# psk_all mode in client
2221requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2222requires_config_enabled MBEDTLS_SSL_SRV_C
2223requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002224run_test "TLS 1.3: m->m: psk_all/psk, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002225 "$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 +00002226 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002227 0 \
2228 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2229 -c "client hello, adding psk_key_exchange_modes extension" \
2230 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002231 -c "Server selected key exchange mode: psk" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002232 -c "HTTP/1.0 200 OK"
2233
2234requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2235requires_config_enabled MBEDTLS_SSL_SRV_C
2236requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002237run_test "TLS 1.3: m->m: psk_all/psk, fail - no common id" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002238 "$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 +00002239 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002240 1 \
2241 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2242 -c "client hello, adding psk_key_exchange_modes extension" \
2243 -c "client hello, adding PSK binder list" \
2244 -s "ClientHello message misses mandatory extensions."
2245
2246requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2247requires_config_enabled MBEDTLS_SSL_SRV_C
2248requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002249run_test "TLS 1.3: m->m: psk_all/psk, fail - no common psk" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002250 "$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 +00002251 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002252 1 \
2253 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2254 -c "client hello, adding psk_key_exchange_modes extension" \
2255 -c "client hello, adding PSK binder list" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002256 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002257
2258requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2259requires_config_enabled MBEDTLS_SSL_SRV_C
2260requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002261run_test "TLS 1.3: m->m: psk_all/psk_ephemeral, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002262 "$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 +00002263 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002264 0 \
2265 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2266 -c "client hello, adding psk_key_exchange_modes extension" \
2267 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002268 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002269 -c "HTTP/1.0 200 OK"
2270
2271requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2272requires_config_enabled MBEDTLS_SSL_SRV_C
2273requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002274run_test "TLS 1.3: m->m: psk_all/psk_ephemeral, fail - no common id" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002275 "$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 +00002276 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002277 1 \
2278 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2279 -c "client hello, adding psk_key_exchange_modes extension" \
2280 -c "client hello, adding PSK binder list" \
2281 -s "No matched PSK or ticket" \
2282 -s "ClientHello message misses mandatory extensions."
2283
2284requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2285requires_config_enabled MBEDTLS_SSL_SRV_C
2286requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002287run_test "TLS 1.3: m->m: psk_all/psk_ephemeral, fail - no common psk" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002288 "$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 +00002289 "$P_CLI nbio=2 debug_level=5 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002290 1 \
2291 -c "skip pre_shared_key extensions" \
2292 -c "client hello, adding psk_key_exchange_modes extension" \
2293 -s "ClientHello message misses mandatory extensions."
2294
Xiaokang Qian210727f2022-09-23 07:25:40 +00002295# Skip this test case temporarily.
2296SKIP_NEXT="YES"
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002297requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2298requires_config_enabled MBEDTLS_SSL_SRV_C
2299requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002300run_test "TLS 1.3: m->m: psk_all/ephemeral, fail - no common kex mode" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002301 "$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 +00002302 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002303 1 \
2304 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2305 -c "client hello, adding psk_key_exchange_modes extension" \
2306 -c "client hello, adding PSK binder list" \
2307 -s "ClientHello message misses mandatory extensions."
2308
2309requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2310requires_config_enabled MBEDTLS_SSL_SRV_C
2311requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002312run_test "TLS 1.3: m->m: psk_all/ephemeral_all, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002313 "$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 +00002314 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002315 0 \
2316 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2317 -c "client hello, adding psk_key_exchange_modes extension" \
2318 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002319 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002320 -c "HTTP/1.0 200 OK"
2321
Xiaokang Qian210727f2022-09-23 07:25:40 +00002322# Skip this test case temporarily.
2323SKIP_NEXT="YES"
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002324requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2325requires_config_enabled MBEDTLS_SSL_SRV_C
2326requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002327run_test "TLS 1.3: m->m: psk_all/ephemeral_all, fail - no common id" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002328 "$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 +00002329 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002330 1 \
2331 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2332 -c "client hello, adding psk_key_exchange_modes extension" \
2333 -c "client hello, adding PSK binder list" \
2334 -s "No matched PSK or ticket" \
2335 -s "ClientHello message misses mandatory extensions."
2336
2337requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2338requires_config_enabled MBEDTLS_SSL_SRV_C
2339requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002340run_test "TLS 1.3: m->m: psk_all/ephemeral_all, good - no common psk" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002341 "$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 +00002342 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002343 1 \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002344 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002345 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002346 -c "client hello, adding PSK binder list" \
2347 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002348
2349requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2350requires_config_enabled MBEDTLS_SSL_SRV_C
2351requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002352run_test "TLS 1.3: m->m: psk_all/psk_all, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002353 "$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 +00002354 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002355 0 \
2356 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2357 -c "client hello, adding psk_key_exchange_modes extension" \
2358 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002359 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002360 -c "HTTP/1.0 200 OK"
2361
2362requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2363requires_config_enabled MBEDTLS_SSL_SRV_C
2364requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002365run_test "TLS 1.3: m->m: psk_all/psk_all, fail - no common id" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +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=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +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
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002378run_test "TLS 1.3: m->m: psk_all/psk_all, fail - no common psk" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002379 "$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 +00002380 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002381 1 \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002382 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002383 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002384 -c "client hello, adding PSK binder list" \
2385 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002386
2387requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2388requires_config_enabled MBEDTLS_SSL_SRV_C
2389requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002390run_test "TLS 1.3: m->m: psk_all/all, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002391 "$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 +00002392 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002393 0 \
2394 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2395 -c "client hello, adding psk_key_exchange_modes extension" \
2396 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002397 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002398 -c "HTTP/1.0 200 OK"
2399
Xiaokang Qian210727f2022-09-23 07:25:40 +00002400# Skip this test case temporarily.
2401SKIP_NEXT="YES"
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002402requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2403requires_config_enabled MBEDTLS_SSL_SRV_C
2404requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002405run_test "TLS 1.3: m->m: psk_all/all, fail - no common id" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002406 "$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 +00002407 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002408 1 \
2409 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2410 -c "client hello, adding psk_key_exchange_modes extension" \
2411 -c "client hello, adding PSK binder list" \
2412 -s "No matched PSK or ticket" \
2413 -s "ClientHello message misses mandatory extensions."
2414
2415requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2416requires_config_enabled MBEDTLS_SSL_SRV_C
2417requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002418run_test "TLS 1.3: m->m: psk_all/all, fail - no common psk" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002419 "$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 +00002420 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002421 1 \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002422 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002423 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002424 -c "client hello, adding PSK binder list" \
2425 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002426
2427# all mode in client
2428requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2429requires_config_enabled MBEDTLS_SSL_SRV_C
2430requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002431run_test "TLS 1.3: m->m: all/psk, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002432 "$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 +00002433 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002434 0 \
2435 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2436 -c "client hello, adding psk_key_exchange_modes extension" \
2437 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002438 -c "Server selected key exchange mode: psk" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002439 -c "HTTP/1.0 200 OK"
2440
2441requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2442requires_config_enabled MBEDTLS_SSL_SRV_C
2443requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002444run_test "TLS 1.3: m->m: all/psk, fail - no common kex mode" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002445 "$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 +00002446 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002447 1 \
2448 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2449 -c "client hello, adding psk_key_exchange_modes extension" \
2450 -c "client hello, adding PSK binder list" \
2451 -s "ClientHello message misses mandatory extensions."
2452
2453requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2454requires_config_enabled MBEDTLS_SSL_SRV_C
2455requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002456run_test "TLS 1.3: m->m: all/psk, fail - no common psk" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002457 "$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 +00002458 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002459 1 \
2460 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2461 -c "client hello, adding psk_key_exchange_modes extension" \
2462 -c "client hello, adding PSK binder list" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002463 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002464
2465requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2466requires_config_enabled MBEDTLS_SSL_SRV_C
2467requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002468run_test "TLS 1.3: m->m: all/psk_ephemeral, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002469 "$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 +00002470 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002471 0 \
2472 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2473 -c "client hello, adding psk_key_exchange_modes extension" \
2474 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002475 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002476 -c "HTTP/1.0 200 OK"
2477
2478requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2479requires_config_enabled MBEDTLS_SSL_SRV_C
2480requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002481run_test "TLS 1.3: m->m: all/psk_ephemeral, fail - no common id" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002482 "$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 +00002483 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002484 1 \
2485 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2486 -c "client hello, adding psk_key_exchange_modes extension" \
2487 -c "client hello, adding PSK binder list" \
2488 -s "No matched PSK or ticket" \
2489 -s "ClientHello message misses mandatory extensions."
2490
2491requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2492requires_config_enabled MBEDTLS_SSL_SRV_C
2493requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002494run_test "TLS 1.3: m->m: all/psk_ephemeral, fail - no common psk" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002495 "$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 +00002496 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002497 1 \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002498 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002499 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002500 -c "client hello, adding PSK binder list" \
2501 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002502
2503requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2504requires_config_enabled MBEDTLS_SSL_SRV_C
2505requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002506run_test "TLS 1.3: m->m: all/ephemeral, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002507 "$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 +00002508 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002509 0 \
2510 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2511 -c "client hello, adding psk_key_exchange_modes extension" \
2512 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002513 -c "Server selected key exchange mode: ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002514 -c "HTTP/1.0 200 OK"
2515
2516requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2517requires_config_enabled MBEDTLS_SSL_SRV_C
2518requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002519run_test "TLS 1.3: m->m: all/ephemeral_all, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002520 "$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 +00002521 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002522 0 \
2523 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2524 -c "client hello, adding psk_key_exchange_modes extension" \
2525 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002526 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002527 -c "HTTP/1.0 200 OK"
2528
2529requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2530requires_config_enabled MBEDTLS_SSL_SRV_C
2531requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002532run_test "TLS 1.3: m->m: all/ephemeral_all, good - no common id" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002533 "$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 +00002534 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002535 0 \
2536 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2537 -c "client hello, adding psk_key_exchange_modes extension" \
2538 -c "client hello, adding PSK binder list" \
2539 -s "No matched PSK or ticket" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002540 -c "Server selected key exchange mode: ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002541 -c "HTTP/1.0 200 OK"
2542
2543requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2544requires_config_enabled MBEDTLS_SSL_SRV_C
2545requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002546run_test "TLS 1.3: m->m: all/ephemeral_all, fail - no common psk" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002547 "$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 +00002548 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=all" \
2549 1 \
2550 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002551 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002552 -c "client hello, adding PSK binder list" \
2553 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002554
2555requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2556requires_config_enabled MBEDTLS_SSL_SRV_C
2557requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002558run_test "TLS 1.3: m->m: all/psk_all, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002559 "$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 +00002560 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002561 0 \
2562 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2563 -c "client hello, adding psk_key_exchange_modes extension" \
2564 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002565 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002566 -c "HTTP/1.0 200 OK"
2567
2568requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2569requires_config_enabled MBEDTLS_SSL_SRV_C
2570requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002571run_test "TLS 1.3: m->m: all/psk_all, fail - no common id" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002572 "$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 +00002573 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002574 1 \
2575 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2576 -c "client hello, adding psk_key_exchange_modes extension" \
2577 -c "client hello, adding PSK binder list" \
2578 -s "No matched PSK or ticket" \
2579 -s "ClientHello message misses mandatory extensions."
2580
2581requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2582requires_config_enabled MBEDTLS_SSL_SRV_C
2583requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002584run_test "TLS 1.3: m->m: all/psk_all, fail - no common psk" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002585 "$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 +00002586 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002587 1 \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002588 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002589 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002590 -c "client hello, adding PSK binder list" \
2591 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002592
2593requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2594requires_config_enabled MBEDTLS_SSL_SRV_C
2595requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002596run_test "TLS 1.3: m->m: all/all, good" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002597 "$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 +00002598 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002599 0 \
2600 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2601 -c "client hello, adding psk_key_exchange_modes extension" \
2602 -c "client hello, adding PSK binder list" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002603 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002604 -c "HTTP/1.0 200 OK"
2605
2606requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2607requires_config_enabled MBEDTLS_SSL_SRV_C
2608requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002609run_test "TLS 1.3: m->m: all/all, good - no common id, fallback to ephemeral" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002610 "$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 +00002611 "$P_CLI nbio=2 debug_level=5 psk=010203 psk_identity=0d0e0f tls13_kex_modes=all" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002612 0 \
2613 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2614 -c "client hello, adding psk_key_exchange_modes extension" \
2615 -c "client hello, adding PSK binder list" \
2616 -s "No matched PSK or ticket" \
2617 -s "key exchange mode: ephemeral"
2618
2619requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2620requires_config_enabled MBEDTLS_SSL_SRV_C
2621requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002622run_test "TLS 1.3: m->m: all/all, fail - no common psk" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002623 "$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 +00002624 "$P_CLI nbio=2 debug_level=5 psk=040506 psk_identity=0a0b0c tls13_kex_modes=all" \
2625 1 \
2626 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002627 -c "client hello, adding psk_key_exchange_modes extension" \
Xiaokang Qiandea2cbe2022-09-22 11:07:28 +00002628 -c "client hello, adding PSK binder list" \
2629 -s "Invalid binder."
Xiaokang Qian8e76e1d2022-08-29 10:11:14 +00002630
Xiaokang Qian73894232022-08-23 08:06:34 +00002631#OPENSSL-SERVER psk mode
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00002632requires_openssl_tls1_3
2633requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2634requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2635requires_config_enabled MBEDTLS_DEBUG_C
2636requires_config_enabled MBEDTLS_SSL_CLI_C
2637requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
2638 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002639run_test "TLS 1.3: m->O: psk/all, good" \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00002640 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex -nocert" \
Xiaokang Qian198cefd2022-08-25 10:42:56 +00002641 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00002642 0 \
2643 -c "=> write client hello" \
2644 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2645 -c "client hello, adding psk_key_exchange_modes extension" \
2646 -c "client hello, adding PSK binder list" \
2647 -c "<= write client hello" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002648 -c "Server selected key exchange mode: psk" \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00002649 -c "HTTP/1.0 200 ok"
2650
2651requires_openssl_tls1_3
2652requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2653requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2654requires_config_enabled MBEDTLS_DEBUG_C
2655requires_config_enabled MBEDTLS_SSL_CLI_C
2656requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
2657 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002658run_test "TLS 1.3: m->O: psk/ephemeral_all, fail - no common kex mode" \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00002659 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \
2660 "$P_CLI debug_level=4 sig_algs=ecdsa_secp256r1_sha256 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
Xiaokang Qiane0cc5842022-08-25 06:17:36 +00002661 1 \
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00002662 -c "=> write client hello" \
2663 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2664 -c "client hello, adding psk_key_exchange_modes extension" \
2665 -c "client hello, adding PSK binder list" \
2666 -c "<= write client hello" \
Xiaokang Qiane0cc5842022-08-25 06:17:36 +00002667 -c "Last error was: -0x7780 - SSL - A fatal alert message was received from our peer"
Xiaokang Qiancf6442e2022-08-23 06:47:40 +00002668
Xiaokang Qian73894232022-08-23 08:06:34 +00002669#OPENSSL-SERVER psk_all mode
2670requires_openssl_tls1_3
2671requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2672requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2673requires_config_enabled MBEDTLS_DEBUG_C
2674requires_config_enabled MBEDTLS_SSL_CLI_C
2675requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
2676 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002677run_test "TLS 1.3: m->O: psk_all/all, good" \
Xiaokang Qian73894232022-08-23 08:06:34 +00002678 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex -nocert" \
Xiaokang Qian198cefd2022-08-25 10:42:56 +00002679 "$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 +00002680 0 \
2681 -c "=> write client hello" \
2682 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2683 -c "client hello, adding psk_key_exchange_modes extension" \
2684 -c "client hello, adding PSK binder list" \
2685 -c "<= write client hello" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002686 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qian73894232022-08-23 08:06:34 +00002687 -c "HTTP/1.0 200 ok"
2688
2689requires_openssl_tls1_3
2690requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2691requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2692requires_config_enabled MBEDTLS_DEBUG_C
2693requires_config_enabled MBEDTLS_SSL_CLI_C
2694requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
2695 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002696run_test "TLS 1.3: m->O: psk_all/ephemeral_all, good" \
Xiaokang Qian73894232022-08-23 08:06:34 +00002697 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \
2698 "$P_CLI debug_level=4 sig_algs=ecdsa_secp256r1_sha256 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
2699 0 \
2700 -c "=> write client hello" \
2701 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2702 -c "client hello, adding psk_key_exchange_modes extension" \
2703 -c "client hello, adding PSK binder list" \
2704 -c "<= write client hello" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002705 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qian73894232022-08-23 08:06:34 +00002706 -c "HTTP/1.0 200 ok"
2707
Xiaokang Qianff5705b2022-08-24 03:18:31 +00002708#OPENSSL-SERVER psk_ephemeral mode
2709requires_openssl_tls1_3
2710requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2711requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2712requires_config_enabled MBEDTLS_DEBUG_C
2713requires_config_enabled MBEDTLS_SSL_CLI_C
2714requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
2715 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002716run_test "TLS 1.3: m->O: psk_ephemeral/all, good" \
Xiaokang Qianff5705b2022-08-24 03:18:31 +00002717 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex -nocert" \
Xiaokang Qian198cefd2022-08-25 10:42:56 +00002718 "$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 +00002719 0 \
2720 -c "=> write client hello" \
2721 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2722 -c "client hello, adding psk_key_exchange_modes extension" \
2723 -c "client hello, adding PSK binder list" \
2724 -c "<= write client hello" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002725 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qianff5705b2022-08-24 03:18:31 +00002726 -c "HTTP/1.0 200 ok"
2727
2728requires_openssl_tls1_3
2729requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2730requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2731requires_config_enabled MBEDTLS_DEBUG_C
2732requires_config_enabled MBEDTLS_SSL_CLI_C
2733requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
2734 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002735run_test "TLS 1.3: m->O: psk_ephemeral/ephemeral_all, good" \
Xiaokang Qianff5705b2022-08-24 03:18:31 +00002736 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \
2737 "$P_CLI debug_level=4 sig_algs=ecdsa_secp256r1_sha256 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
2738 0 \
2739 -c "=> write client hello" \
2740 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2741 -c "client hello, adding psk_key_exchange_modes extension" \
2742 -c "client hello, adding PSK binder list" \
2743 -c "<= write client hello" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002744 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qianff5705b2022-08-24 03:18:31 +00002745 -c "HTTP/1.0 200 ok"
2746
Xiaokang Qian01173c22022-08-24 06:29:05 +00002747#OPENSSL-SERVER ephemeral mode
2748requires_openssl_tls1_3
2749requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2750requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2751requires_config_enabled MBEDTLS_DEBUG_C
2752requires_config_enabled MBEDTLS_SSL_CLI_C
2753requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
2754 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002755run_test "TLS 1.3: m->O: ephemeral/all, good" \
Xiaokang Qian01173c22022-08-24 06:29:05 +00002756 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex" \
Xiaokang Qian198cefd2022-08-25 10:42:56 +00002757 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
Xiaokang Qian01173c22022-08-24 06:29:05 +00002758 0 \
2759 -c "=> write client hello" \
2760 -c "skip psk_key_exchange_modes extension" \
2761 -c "<= write client hello" \
2762 -c "found key_shares extension" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002763 -c "Server selected key exchange mode: ephemeral" \
Xiaokang Qian01173c22022-08-24 06:29:05 +00002764 -c "HTTP/1.0 200 ok"
2765
2766requires_openssl_tls1_3
2767requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2768requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2769requires_config_enabled MBEDTLS_DEBUG_C
2770requires_config_enabled MBEDTLS_SSL_CLI_C
2771requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
2772 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002773run_test "TLS 1.3: m->O: ephemeral/ephemeral_all, good" \
Xiaokang Qian01173c22022-08-24 06:29:05 +00002774 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \
2775 "$P_CLI debug_level=4 sig_algs=ecdsa_secp256r1_sha256 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
2776 0 \
2777 -c "=> write client hello" \
2778 -c "skip psk_key_exchange_modes extension" \
2779 -c "<= write client hello" \
2780 -c "found key_shares extension" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002781 -c "Server selected key exchange mode: ephemeral" \
Xiaokang Qian01173c22022-08-24 06:29:05 +00002782 -c "HTTP/1.0 200 ok"
2783
Xiaokang Qiana39d0d52022-08-24 06:48:07 +00002784#OPENSSL-SERVER ephemeral_all mode
2785requires_openssl_tls1_3
2786requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2787requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2788requires_config_enabled MBEDTLS_DEBUG_C
2789requires_config_enabled MBEDTLS_SSL_CLI_C
2790requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
2791 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002792run_test "TLS 1.3: m->O: ephemeral_all/all, good" \
Xiaokang Qiana39d0d52022-08-24 06:48:07 +00002793 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex -nocert" \
Xiaokang Qian198cefd2022-08-25 10:42:56 +00002794 "$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 +00002795 0 \
2796 -c "=> write client hello" \
2797 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2798 -c "client hello, adding psk_key_exchange_modes extension" \
2799 -c "client hello, adding PSK binder list" \
Xiaokang Qian658204c2022-09-22 09:51:19 +00002800 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qiana39d0d52022-08-24 06:48:07 +00002801 -c "<= write client hello" \
2802 -c "HTTP/1.0 200 ok"
2803
2804requires_openssl_tls1_3
2805requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2806requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2807requires_config_enabled MBEDTLS_DEBUG_C
2808requires_config_enabled MBEDTLS_SSL_CLI_C
2809requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
2810 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002811run_test "TLS 1.3: m->O: ephemeral_all/ephemeral_all, good" \
Xiaokang Qiana39d0d52022-08-24 06:48:07 +00002812 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \
2813 "$P_CLI debug_level=4 sig_algs=ecdsa_secp256r1_sha256 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
2814 0 \
2815 -c "=> write client hello" \
2816 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2817 -c "client hello, adding psk_key_exchange_modes extension" \
2818 -c "client hello, adding PSK binder list" \
Xiaokang Qian658204c2022-09-22 09:51:19 +00002819 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qiana39d0d52022-08-24 06:48:07 +00002820 -c "<= write client hello" \
2821 -c "HTTP/1.0 200 ok"
2822
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00002823#OPENSSL-SERVER all mode
2824requires_openssl_tls1_3
2825requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2826requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2827requires_config_enabled MBEDTLS_DEBUG_C
2828requires_config_enabled MBEDTLS_SSL_CLI_C
2829requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
2830 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002831run_test "TLS 1.3: m->O: all/all, good" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00002832 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203 -allow_no_dhe_kex -nocert" \
Xiaokang Qian198cefd2022-08-25 10:42:56 +00002833 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00002834 0 \
2835 -c "=> write client hello" \
2836 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2837 -c "client hello, adding psk_key_exchange_modes extension" \
2838 -c "client hello, adding PSK binder list" \
Xiaokang Qian658204c2022-09-22 09:51:19 +00002839 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00002840 -c "<= write client hello" \
2841 -c "HTTP/1.0 200 ok"
2842
2843requires_openssl_tls1_3
2844requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2845requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2846requires_config_enabled MBEDTLS_DEBUG_C
2847requires_config_enabled MBEDTLS_SSL_CLI_C
2848requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
2849 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002850run_test "TLS 1.3: m->O: all/ephemeral_all, good" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00002851 "$O_NEXT_SRV -msg -debug -tls1_3 -psk_identity 0a0b0c -psk 010203" \
2852 "$P_CLI debug_level=4 sig_algs=ecdsa_secp256r1_sha256 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
2853 0 \
2854 -c "=> write client hello" \
2855 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2856 -c "client hello, adding psk_key_exchange_modes extension" \
2857 -c "client hello, adding PSK binder list" \
Xiaokang Qian658204c2022-09-22 09:51:19 +00002858 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00002859 -c "<= write client hello" \
2860 -c "HTTP/1.0 200 ok"
2861
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002862#GNUTLS-SERVER psk mode
2863requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2864requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002865requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2866requires_config_enabled MBEDTLS_DEBUG_C
2867requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002868run_test "TLS 1.3: m->G: psk/all, good" \
2869 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+CIPHER-ALL --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002870 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
2871 0 \
2872 -c "=> write client hello" \
2873 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2874 -c "client hello, adding psk_key_exchange_modes extension" \
2875 -c "client hello, adding PSK binder list" \
2876 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
2877 -s "Parsing extension 'Pre Shared Key/41'" \
2878 -c "<= write client hello" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002879 -c "Server selected key exchange mode: psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002880 -c "HTTP/1.0 200 OK"
2881
2882requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2883requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002884requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2885requires_config_enabled MBEDTLS_DEBUG_C
2886requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002887run_test "TLS 1.3: m->G: psk/ephemeral_all, fail - no common kex mode" \
2888 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+CIPHER-ALL --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002889 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk" \
2890 1 \
2891 -c "=> write client hello" \
2892 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2893 -c "client hello, adding psk_key_exchange_modes extension" \
2894 -c "client hello, adding PSK binder list" \
2895 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
2896 -s "Parsing extension 'Pre Shared Key/41'" \
2897 -c "<= write client hello" \
2898 -c "Last error was: -0x7780 - SSL - A fatal alert message was received from our peer"
2899
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002900#GNUTLS-SERVER psk_all mode
2901requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2902requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002903requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2904requires_config_enabled MBEDTLS_DEBUG_C
2905requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002906run_test "TLS 1.3: m->G: psk_all/all, good" \
2907 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+CIPHER-ALL --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002908 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
2909 0 \
2910 -c "=> write client hello" \
2911 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2912 -c "client hello, adding psk_key_exchange_modes extension" \
2913 -c "client hello, adding PSK binder list" \
2914 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
2915 -s "Parsing extension 'Pre Shared Key/41'" \
2916 -c "<= write client hello" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002917 -c "Server selected key exchange mode: psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002918 -c "HTTP/1.0 200 OK"
2919
2920requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2921requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002922requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2923requires_config_enabled MBEDTLS_DEBUG_C
2924requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002925run_test "TLS 1.3: m->G: psk_all/ephemeral_all, fail - no fallback" \
2926 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+CIPHER-ALL --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002927 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_all" \
2928 1 \
2929 -c "=> write client hello" \
2930 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2931 -c "client hello, adding psk_key_exchange_modes extension" \
2932 -c "client hello, adding PSK binder list" \
2933 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
2934 -s "Parsing extension 'Pre Shared Key/41'" \
2935 -c "<= write client hello" \
2936 -c "Last error was: -0x7780 - SSL - A fatal alert message was received from our peer"
2937
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002938#GNUTLS-SERVER psk_ephemeral mode
2939requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2940requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002941requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2942requires_config_enabled MBEDTLS_DEBUG_C
2943requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002944run_test "TLS 1.3: m->G: psk_ephemeral/all, good" \
2945 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+CIPHER-ALL --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002946 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
2947 0 \
2948 -c "=> write client hello" \
2949 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2950 -c "client hello, adding psk_key_exchange_modes extension" \
2951 -c "client hello, adding PSK binder list" \
2952 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
2953 -s "Parsing extension 'Pre Shared Key/41'" \
2954 -c "<= write client hello" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002955 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002956 -c "HTTP/1.0 200 OK"
2957
2958requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2959requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002960requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2961requires_config_enabled MBEDTLS_DEBUG_C
2962requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002963run_test "TLS 1.3: m->G: psk_ephemeral/ephemeral_all, good" \
2964 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+CIPHER-ALL --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002965 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk_ephemeral" \
2966 0 \
2967 -c "=> write client hello" \
2968 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
2969 -c "client hello, adding psk_key_exchange_modes extension" \
2970 -c "client hello, adding PSK binder list" \
2971 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
2972 -s "Parsing extension 'Pre Shared Key/41'" \
2973 -c "<= write client hello" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002974 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002975 -c "HTTP/1.0 200 OK"
2976
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002977#GNUTLS-SERVER ephemeral mode
2978requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2979requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002980requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2981requires_config_enabled MBEDTLS_DEBUG_C
2982requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002983run_test "TLS 1.3: m->G: ephemeral/all, good" \
2984 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+CIPHER-ALL --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002985 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
2986 0 \
2987 -c "=> write client hello" \
2988 -c "skip psk_key_exchange_modes extension" \
2989 -s "Not sending extension (PSK Key Exchange Modes/45)" \
2990 -c "<= write client hello" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002991 -c "Server selected key exchange mode: ephemeral" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002992 -c "HTTP/1.0 200 OK"
2993
2994requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
2995requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00002996requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
2997requires_config_enabled MBEDTLS_DEBUG_C
2998requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00002999run_test "TLS 1.3: m->G: ephemeral/ephemeral_all, good" \
3000 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+CIPHER-ALL --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003001 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral" \
3002 0 \
3003 -c "=> write client hello" \
3004 -c "skip psk_key_exchange_modes extension" \
3005 -s "Not sending extension (PSK Key Exchange Modes/45)" \
3006 -c "<= write client hello" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003007 -c "Server selected key exchange mode: ephemeral" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003008 -c "HTTP/1.0 200 OK"
3009
3010#GNUTLS-SERVER ephemeral_all mode
3011requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3012requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003013requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3014requires_config_enabled MBEDTLS_DEBUG_C
3015requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003016run_test "TLS 1.3: m->G: ephemeral_all/all, good" \
3017 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+CIPHER-ALL --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003018 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
3019 0 \
3020 -c "=> write client hello" \
3021 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3022 -c "client hello, adding psk_key_exchange_modes extension" \
3023 -c "client hello, adding PSK binder list" \
3024 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
3025 -s "Parsing extension 'Pre Shared Key/41'" \
3026 -c "<= write client hello" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003027 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003028 -c "HTTP/1.0 200 OK"
3029
3030requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3031requires_gnutls_tls1_3
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003032requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3033requires_config_enabled MBEDTLS_DEBUG_C
3034requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003035run_test "TLS 1.3: m->G: ephemeral_all/ephemeral_all, good" \
3036 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+CIPHER-ALL --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003037 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=ephemeral_all" \
3038 0 \
3039 -c "=> write client hello" \
3040 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3041 -c "client hello, adding psk_key_exchange_modes extension" \
3042 -c "client hello, adding PSK binder list" \
3043 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
3044 -s "Parsing extension 'Pre Shared Key/41'" \
3045 -c "<= write client hello" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003046 -c "Server selected key exchange mode: psk_ephemeral" \
Xiaokang Qian2aaf1c12022-08-30 09:18:59 +00003047 -c "HTTP/1.0 200 OK"
3048
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003049#GNUTLS-SERVER all mode
3050requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3051requires_gnutls_tls1_3
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003052requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3053requires_config_enabled MBEDTLS_DEBUG_C
3054requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003055run_test "TLS 1.3: m->G: all/all, good" \
3056 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+CIPHER-ALL --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian198cefd2022-08-25 10:42:56 +00003057 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003058 0 \
3059 -c "=> write client hello" \
3060 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3061 -c "client hello, adding psk_key_exchange_modes extension" \
3062 -c "client hello, adding PSK binder list" \
3063 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
3064 -s "Parsing extension 'Pre Shared Key/41'" \
3065 -c "<= write client hello" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003066 -c "Server selected key exchange mode: psk" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003067 -c "HTTP/1.0 200 OK"
3068
3069requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
3070requires_gnutls_tls1_3
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003071requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3072requires_config_enabled MBEDTLS_DEBUG_C
3073requires_config_enabled MBEDTLS_SSL_CLI_C
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003074run_test "TLS 1.3: m->G: all/ephemeral_all, good" \
3075 "$G_NEXT_SRV -d 4 --priority=NORMAL:-VERS-ALL:+VERS-TLS1.3:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+CIPHER-ALL --pskpasswd=data_files/simplepass.psk" \
Xiaokang Qian198cefd2022-08-25 10:42:56 +00003076 "$P_CLI debug_level=4 force_version=tls13 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003077 0 \
3078 -c "=> write client hello" \
3079 -c "client hello, adding pre_shared_key extension, omitting PSK binder list" \
3080 -c "client hello, adding psk_key_exchange_modes extension" \
3081 -c "client hello, adding PSK binder list" \
3082 -s "Parsing extension 'PSK Key Exchange Modes/45'" \
3083 -s "Parsing extension 'Pre Shared Key/41'" \
3084 -c "<= write client hello" \
Xiaokang Qian8f7d7c72022-09-07 10:10:16 +00003085 -c "Server selected key exchange mode: ephemeral" \
Xiaokang Qiandf6a3892022-08-24 06:55:18 +00003086 -c "HTTP/1.0 200 OK"