blob: a7724b4a8562346ab168a92d7e014bd05e521bb8 [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#
Jerry Yu079472b2022-09-06 11:44:18 +080020P_SRV_PSK_LIST="psk_list=abc,dead,def,beef,Client_identity,6162636465666768696a6b6c6d6e6f70"
Jerry Yu6a9beba2022-07-31 12:45:25 +080021
Jerry Yu66f35f22022-08-22 17:27:41 +080022requires_gnutls_tls1_3
Jerry Yu6a9beba2022-07-31 12:45:25 +080023requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
24requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
25requires_config_enabled MBEDTLS_SSL_SRV_C
26requires_config_enabled MBEDTLS_DEBUG_C
Jerry Yu9b83fa12022-07-31 13:13:51 +080027# SOME_ECDHE_ENABLED?
28requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
29 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu3e06fce2022-08-25 17:51:57 +080030run_test "TLS 1.3: PSK: No valid ciphersuite. G->m" \
Jerry Yu079472b2022-09-06 11:44:18 +080031 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yu2185c0f2022-08-23 16:12:43 +080032 "$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 \
33 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
34 localhost" \
35 1 \
36 -s "found psk key exchange modes extension" \
37 -s "found pre_shared_key extension" \
38 -s "Found PSK_EPHEMERAL KEX MODE" \
39 -s "Found PSK KEX MODE" \
Jerry Yu3e06fce2022-08-25 17:51:57 +080040 -s "No matched ciphersuite"
Jerry Yu2185c0f2022-08-23 16:12:43 +080041
42requires_openssl_tls1_3
43requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
44requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
45requires_config_enabled MBEDTLS_SSL_SRV_C
46requires_config_enabled MBEDTLS_DEBUG_C
47# SOME_ECDHE_ENABLED?
48requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
49 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
Jerry Yu3e06fce2022-08-25 17:51:57 +080050run_test "TLS 1.3: PSK: No valid ciphersuite. O->m" \
Jerry Yu079472b2022-09-06 11:44:18 +080051 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yu2185c0f2022-08-23 16:12:43 +080052 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex -ciphersuites TLS_AES_256_GCM_SHA384\
53 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
54 1 \
55 -s "found psk key exchange modes extension" \
56 -s "found pre_shared_key extension" \
57 -s "Found PSK_EPHEMERAL KEX MODE" \
58 -s "Found PSK KEX MODE" \
Jerry Yue7b4b582022-08-25 17:53:13 +080059 -s "No matched ciphersuite"
60
61
62requires_gnutls_tls1_3
63requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
64requires_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 +080065run_test "TLS 1.3: G->m: ephemeral_all/psk, fail, no common kex mode" \
Jerry Yu079472b2022-09-06 11:44:18 +080066 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +080067 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
68 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
69 localhost" \
70 1 \
71 -s "found psk key exchange modes extension" \
72 -s "found pre_shared_key extension" \
73 -s "Found PSK_EPHEMERAL KEX MODE" \
74 -S "Found PSK KEX MODE" \
75 -S "key exchange mode: psk$" \
76 -S "key exchange mode: psk_ephemeral" \
77 -S "key exchange mode: ephemeral"
78
79requires_gnutls_tls1_3
80requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
81requires_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 +080082run_test "TLS 1.3: G->m: all/psk, good" \
Jerry Yu079472b2022-09-06 11:44:18 +080083 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +080084 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
85 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
86 localhost" \
87 0 \
88 -s "found psk key exchange modes extension" \
89 -s "found pre_shared_key extension" \
90 -s "Found PSK_EPHEMERAL KEX MODE" \
91 -s "Found PSK KEX MODE" \
92 -s "Pre shared key found" \
93 -S "No matched PSK or ticket" \
94 -s "key exchange mode: psk$" \
95 -S "key exchange mode: psk_ephemeral" \
96 -S "key exchange mode: ephemeral"
97
98requires_gnutls_tls1_3
99requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
100requires_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 +0800101run_test "TLS 1.3: G->m: all/psk, fail, key id mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800102 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800103 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
104 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
105 localhost" \
106 1 \
107 -s "found psk key exchange modes extension" \
108 -s "found pre_shared_key extension" \
109 -s "Found PSK_EPHEMERAL KEX MODE" \
110 -s "Found PSK KEX MODE" \
111 -s "No matched PSK or ticket" \
112 -S "key exchange mode: psk$" \
113 -S "key exchange mode: psk_ephemeral" \
114 -S "key exchange mode: ephemeral"
115
116requires_gnutls_tls1_3
117requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
118requires_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 +0800119run_test "TLS 1.3: G->m: all/psk, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800120 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800121 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
122 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
123 localhost" \
124 1 \
125 -s "found psk key exchange modes extension" \
126 -s "found pre_shared_key extension" \
127 -s "Found PSK_EPHEMERAL KEX MODE" \
128 -s "Found PSK KEX MODE" \
129 -s "Invalid binder." \
130 -S "key exchange mode: psk$" \
131 -S "key exchange mode: psk_ephemeral" \
132 -S "key exchange mode: ephemeral"
133
134requires_gnutls_tls1_3
135requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
136requires_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 +0800137run_test "TLS 1.3: G->m: psk_or_ephemeral/psk, good" \
Jerry Yu079472b2022-09-06 11:44:18 +0800138 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800139 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
140 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
141 localhost" \
142 0 \
143 -s "found psk key exchange modes extension" \
144 -s "found pre_shared_key extension" \
145 -S "Found PSK_EPHEMERAL KEX MODE" \
146 -s "Found PSK KEX MODE" \
147 -s "Pre shared key found" \
148 -S "No matched PSK or ticket" \
149 -s "key exchange mode: psk$" \
150 -S "key exchange mode: psk_ephemeral" \
151 -S "key exchange mode: ephemeral"
152
153requires_gnutls_tls1_3
154requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
155requires_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 +0800156run_test "TLS 1.3: G->m: psk_or_ephemeral/psk, fail, key id mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800157 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800158 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
159 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
160 localhost" \
161 1 \
162 -s "found psk key exchange modes extension" \
163 -s "found pre_shared_key extension" \
164 -S "Found PSK_EPHEMERAL KEX MODE" \
165 -s "Found PSK KEX MODE" \
166 -s "No matched PSK or ticket" \
167 -S "key exchange mode: psk$" \
168 -S "key exchange mode: psk_ephemeral" \
169 -S "key exchange mode: ephemeral"
170
171requires_gnutls_tls1_3
172requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
173requires_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 +0800174run_test "TLS 1.3: G->m: psk_or_ephemeral/psk, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800175 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800176 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
177 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
178 localhost" \
179 1 \
180 -s "found psk key exchange modes extension" \
181 -s "found pre_shared_key extension" \
182 -S "Found PSK_EPHEMERAL KEX MODE" \
183 -s "Found PSK KEX MODE" \
184 -s "Invalid binder." \
185 -S "key exchange mode: psk$" \
186 -S "key exchange mode: psk_ephemeral" \
187 -S "key exchange mode: ephemeral"
188
189requires_gnutls_tls1_3
190requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
191requires_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
192requires_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 +0800193run_test "TLS 1.3: G->m: ephemeral_all/psk_ephemeral, good" \
Jerry Yu079472b2022-09-06 11:44:18 +0800194 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800195 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
196 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
197 localhost" \
198 0 \
199 -s "found psk key exchange modes extension" \
200 -s "found pre_shared_key extension" \
201 -s "Found PSK_EPHEMERAL KEX MODE" \
202 -S "Found PSK KEX MODE" \
203 -s "Pre shared key found" \
204 -S "No matched PSK or ticket" \
205 -S "key exchange mode: psk$" \
206 -s "key exchange mode: psk_ephemeral" \
207 -S "key exchange mode: ephemeral"
208
209requires_gnutls_tls1_3
210requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
211requires_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
212requires_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 +0800213run_test "TLS 1.3: G->m: ephemeral_all/psk_ephemeral, fail, key id mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800214 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800215 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
216 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
217 localhost" \
218 1 \
219 -s "found psk key exchange modes extension" \
220 -s "found pre_shared_key extension" \
221 -s "Found PSK_EPHEMERAL KEX MODE" \
222 -S "Found PSK KEX MODE" \
223 -s "No matched PSK or ticket" \
224 -S "key exchange mode: psk$" \
225 -S "key exchange mode: psk_ephemeral" \
226 -S "key exchange mode: ephemeral"
227
228requires_gnutls_tls1_3
229requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
230requires_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
231requires_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 +0800232run_test "TLS 1.3: G->m: ephemeral_all/psk_ephemeral, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800233 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800234 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
235 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
236 localhost" \
237 1 \
238 -s "found psk key exchange modes extension" \
239 -s "found pre_shared_key extension" \
240 -s "Found PSK_EPHEMERAL KEX MODE" \
241 -S "Found PSK KEX MODE" \
242 -s "Invalid binder." \
243 -S "key exchange mode: psk$" \
244 -S "key exchange mode: psk_ephemeral" \
245 -S "key exchange mode: ephemeral"
246
247requires_gnutls_tls1_3
248requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
249requires_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
250requires_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 +0800251run_test "TLS 1.3: G->m: all/psk_ephemeral, good" \
Jerry Yu079472b2022-09-06 11:44:18 +0800252 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800253 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
254 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
255 localhost" \
256 0 \
257 -s "found psk key exchange modes extension" \
258 -s "found pre_shared_key extension" \
259 -s "Found PSK_EPHEMERAL KEX MODE" \
260 -s "Found PSK KEX MODE" \
261 -s "Pre shared key found" \
262 -S "No matched PSK or ticket" \
263 -S "key exchange mode: psk$" \
264 -s "key exchange mode: psk_ephemeral" \
265 -S "key exchange mode: ephemeral"
266
267requires_gnutls_tls1_3
268requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
269requires_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
270requires_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 +0800271run_test "TLS 1.3: G->m: all/psk_ephemeral, fail, key id mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800272 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800273 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
274 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
275 localhost" \
276 1 \
277 -s "found psk key exchange modes extension" \
278 -s "found pre_shared_key extension" \
279 -s "Found PSK_EPHEMERAL KEX MODE" \
280 -s "Found PSK KEX MODE" \
281 -s "No matched PSK or ticket" \
282 -S "key exchange mode: psk$" \
283 -S "key exchange mode: psk_ephemeral" \
284 -S "key exchange mode: ephemeral"
285
286requires_gnutls_tls1_3
287requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
288requires_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
289requires_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 +0800290run_test "TLS 1.3: G->m: all/psk_ephemeral, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800291 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800292 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
293 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
294 localhost" \
295 1 \
296 -s "found psk key exchange modes extension" \
297 -s "found pre_shared_key extension" \
298 -s "Found PSK_EPHEMERAL KEX MODE" \
299 -s "Found PSK KEX MODE" \
300 -s "Invalid binder." \
301 -S "key exchange mode: psk$" \
302 -S "key exchange mode: psk_ephemeral" \
303 -S "key exchange mode: ephemeral"
304
305requires_gnutls_tls1_3
306requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
307requires_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
308requires_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 +0800309run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_ephemeral, fail, no common kex mode" \
Jerry Yu079472b2022-09-06 11:44:18 +0800310 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800311 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
312 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
313 localhost" \
314 1 \
315 -s "found psk key exchange modes extension" \
316 -s "found pre_shared_key extension" \
317 -S "Found PSK_EPHEMERAL KEX MODE" \
318 -s "Found PSK KEX MODE" \
319 -S "key exchange mode: psk$" \
320 -S "key exchange mode: psk_ephemeral" \
321 -S "key exchange mode: ephemeral"
322
323requires_gnutls_tls1_3
324requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
325requires_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
326requires_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 +0800327run_test "TLS 1.3: G->m: ephemeral_all/psk_all, good" \
Jerry Yu079472b2022-09-06 11:44:18 +0800328 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800329 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
330 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
331 localhost" \
332 0 \
333 -s "found psk key exchange modes extension" \
334 -s "found pre_shared_key extension" \
335 -s "Found PSK_EPHEMERAL KEX MODE" \
336 -S "Found PSK KEX MODE" \
337 -s "Pre shared key found" \
338 -S "No matched PSK or ticket" \
339 -S "key exchange mode: psk$" \
340 -s "key exchange mode: psk_ephemeral" \
341 -S "key exchange mode: ephemeral"
342
343requires_gnutls_tls1_3
344requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
345requires_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
346requires_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 +0800347run_test "TLS 1.3: G->m: ephemeral_all/psk_all, fail, key id mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800348 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800349 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
350 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
351 localhost" \
352 1 \
353 -s "found psk key exchange modes extension" \
354 -s "found pre_shared_key extension" \
355 -s "Found PSK_EPHEMERAL KEX MODE" \
356 -S "Found PSK KEX MODE" \
357 -s "No matched PSK or ticket" \
358 -S "key exchange mode: psk$" \
359 -S "key exchange mode: psk_ephemeral" \
360 -S "key exchange mode: ephemeral"
361
362requires_gnutls_tls1_3
363requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
364requires_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
365requires_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 +0800366run_test "TLS 1.3: G->m: ephemeral_all/psk_all, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800367 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800368 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
369 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
370 localhost" \
371 1 \
372 -s "found psk key exchange modes extension" \
373 -s "found pre_shared_key extension" \
374 -s "Found PSK_EPHEMERAL KEX MODE" \
375 -S "Found PSK KEX MODE" \
376 -s "Invalid binder." \
377 -S "key exchange mode: psk$" \
378 -S "key exchange mode: psk_ephemeral" \
379 -S "key exchange mode: ephemeral"
380
381requires_gnutls_tls1_3
382requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
383requires_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
384requires_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 +0800385run_test "TLS 1.3: G->m: all/psk_all, good" \
Jerry Yu079472b2022-09-06 11:44:18 +0800386 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800387 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
388 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
389 localhost" \
390 0 \
391 -s "found psk key exchange modes extension" \
392 -s "found pre_shared_key extension" \
393 -s "Found PSK_EPHEMERAL KEX MODE" \
394 -s "Found PSK KEX MODE" \
395 -s "Pre shared key found" \
396 -S "No matched PSK or ticket" \
397 -S "key exchange mode: psk$" \
398 -s "key exchange mode: psk_ephemeral" \
399 -S "key exchange mode: ephemeral"
400
401requires_gnutls_tls1_3
402requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
403requires_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
404requires_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 +0800405run_test "TLS 1.3: G->m: all/psk_all, fail, key id mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800406 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800407 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
408 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
409 localhost" \
410 1 \
411 -s "found psk key exchange modes extension" \
412 -s "found pre_shared_key extension" \
413 -s "Found PSK_EPHEMERAL KEX MODE" \
414 -s "Found PSK KEX MODE" \
415 -s "No matched PSK or ticket" \
416 -S "key exchange mode: psk$" \
417 -S "key exchange mode: psk_ephemeral" \
418 -S "key exchange mode: ephemeral"
419
420requires_gnutls_tls1_3
421requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
422requires_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
423requires_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 +0800424run_test "TLS 1.3: G->m: all/psk_all, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800425 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800426 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
427 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
428 localhost" \
429 1 \
430 -s "found psk key exchange modes extension" \
431 -s "found pre_shared_key extension" \
432 -s "Found PSK_EPHEMERAL KEX MODE" \
433 -s "Found PSK KEX MODE" \
434 -s "Invalid binder." \
435 -S "key exchange mode: psk$" \
436 -S "key exchange mode: psk_ephemeral" \
437 -S "key exchange mode: ephemeral"
438
439requires_gnutls_tls1_3
440requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
441requires_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
442requires_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 +0800443run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_all, good" \
Jerry Yu079472b2022-09-06 11:44:18 +0800444 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800445 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
446 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
447 localhost" \
448 0 \
449 -s "found psk key exchange modes extension" \
450 -s "found pre_shared_key extension" \
451 -S "Found PSK_EPHEMERAL KEX MODE" \
452 -s "Found PSK KEX MODE" \
453 -s "Pre shared key found" \
454 -S "No matched PSK or ticket" \
455 -s "key exchange mode: psk$" \
456 -S "key exchange mode: psk_ephemeral" \
457 -S "key exchange mode: ephemeral"
458
459requires_gnutls_tls1_3
460requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
461requires_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
462requires_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 +0800463run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_all, fail, key id mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800464 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800465 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
466 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
467 localhost" \
468 1 \
469 -s "found psk key exchange modes extension" \
470 -s "found pre_shared_key extension" \
471 -S "Found PSK_EPHEMERAL KEX MODE" \
472 -s "Found PSK KEX MODE" \
473 -s "No matched PSK or ticket" \
474 -S "key exchange mode: psk$" \
475 -S "key exchange mode: psk_ephemeral" \
476 -S "key exchange mode: ephemeral"
477
478requires_gnutls_tls1_3
479requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
480requires_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
481requires_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 +0800482run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_all, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800483 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800484 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
485 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
486 localhost" \
487 1 \
488 -s "found psk key exchange modes extension" \
489 -s "found pre_shared_key extension" \
490 -S "Found PSK_EPHEMERAL KEX MODE" \
491 -s "Found PSK KEX MODE" \
492 -s "Invalid binder." \
493 -S "key exchange mode: psk$" \
494 -S "key exchange mode: psk_ephemeral" \
495 -S "key exchange mode: ephemeral"
496
497requires_gnutls_tls1_3
498requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
499requires_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
500requires_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 +0800501run_test "TLS 1.3: G->m: ephemeral_all/ephemeral_all, good" \
Jerry Yu079472b2022-09-06 11:44:18 +0800502 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800503 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
504 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
505 localhost" \
506 0 \
507 -s "found psk key exchange modes extension" \
508 -s "found pre_shared_key extension" \
509 -s "Found PSK_EPHEMERAL KEX MODE" \
510 -S "Found PSK KEX MODE" \
511 -s "Pre shared key found" \
512 -S "No matched PSK or ticket" \
513 -S "key exchange mode: psk$" \
514 -s "key exchange mode: psk_ephemeral" \
515 -S "key exchange mode: ephemeral"
516
517requires_gnutls_tls1_3
518requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
519requires_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
520requires_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 +0800521run_test "TLS 1.3: G->m: ephemeral_all/ephemeral_all, good, key id mismatch, dhe." \
Jerry Yu079472b2022-09-06 11:44:18 +0800522 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800523 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
524 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
525 localhost" \
526 0 \
527 -s "found psk key exchange modes extension" \
528 -s "found pre_shared_key extension" \
529 -s "Found PSK_EPHEMERAL KEX MODE" \
530 -S "Found PSK KEX MODE" \
531 -s "No matched PSK or ticket" \
532 -S "key exchange mode: psk$" \
533 -S "key exchange mode: psk_ephemeral" \
534 -s "key exchange mode: ephemeral"
535
536requires_gnutls_tls1_3
537requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
538requires_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
539requires_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 +0800540run_test "TLS 1.3: G->m: ephemeral_all/ephemeral_all, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800541 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800542 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
543 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
544 localhost" \
545 1 \
546 -s "found psk key exchange modes extension" \
547 -s "found pre_shared_key extension" \
548 -s "Found PSK_EPHEMERAL KEX MODE" \
549 -S "Found PSK KEX MODE" \
550 -s "Invalid binder." \
551 -S "key exchange mode: psk$" \
552 -S "key exchange mode: psk_ephemeral" \
553 -S "key exchange mode: ephemeral"
554
555requires_gnutls_tls1_3
556requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
557requires_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
558requires_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 +0800559run_test "TLS 1.3: G->m: all/ephemeral_all, good" \
Jerry Yu079472b2022-09-06 11:44:18 +0800560 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800561 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
562 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
563 localhost" \
564 0 \
565 -s "found psk key exchange modes extension" \
566 -s "found pre_shared_key extension" \
567 -s "Found PSK_EPHEMERAL KEX MODE" \
568 -s "Found PSK KEX MODE" \
569 -s "Pre shared key found" \
570 -S "No matched PSK or ticket" \
571 -S "key exchange mode: psk$" \
572 -s "key exchange mode: psk_ephemeral" \
573 -S "key exchange mode: ephemeral"
574
575requires_gnutls_tls1_3
576requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
577requires_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
578requires_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 +0800579run_test "TLS 1.3: G->m: all/ephemeral_all, good, key id mismatch, dhe." \
Jerry Yu079472b2022-09-06 11:44:18 +0800580 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800581 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
582 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
583 localhost" \
584 0 \
585 -s "found psk key exchange modes extension" \
586 -s "found pre_shared_key extension" \
587 -s "Found PSK_EPHEMERAL KEX MODE" \
588 -s "Found PSK KEX MODE" \
589 -s "No matched PSK or ticket" \
590 -S "key exchange mode: psk$" \
591 -S "key exchange mode: psk_ephemeral" \
592 -s "key exchange mode: ephemeral"
593
594requires_gnutls_tls1_3
595requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
596requires_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
597requires_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 +0800598run_test "TLS 1.3: G->m: all/ephemeral_all, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800599 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800600 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
601 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
602 localhost" \
603 1 \
604 -s "found psk key exchange modes extension" \
605 -s "found pre_shared_key extension" \
606 -s "Found PSK_EPHEMERAL KEX MODE" \
607 -s "Found PSK KEX MODE" \
608 -s "Invalid binder." \
609 -S "key exchange mode: psk$" \
610 -S "key exchange mode: psk_ephemeral" \
611 -S "key exchange mode: ephemeral"
612
613requires_gnutls_tls1_3
614requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
615requires_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
616requires_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 +0800617run_test "TLS 1.3: G->m: psk_or_ephemeral/ephemeral_all, good" \
Jerry Yu079472b2022-09-06 11:44:18 +0800618 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800619 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
620 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
621 localhost" \
622 0 \
623 -s "found psk key exchange modes extension" \
624 -s "found pre_shared_key extension" \
625 -S "Found PSK_EPHEMERAL KEX MODE" \
626 -s "Found PSK KEX MODE" \
627 -s "Pre shared key found" \
628 -S "No matched PSK or ticket" \
629 -S "key exchange mode: psk$" \
630 -S "key exchange mode: psk_ephemeral" \
631 -s "key exchange mode: ephemeral"
632
633requires_gnutls_tls1_3
634requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
635requires_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
636requires_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 +0800637run_test "TLS 1.3: G->m: ephemeral_all/all, good" \
Jerry Yu079472b2022-09-06 11:44:18 +0800638 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800639 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
640 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
641 localhost" \
642 0 \
643 -s "found psk key exchange modes extension" \
644 -s "found pre_shared_key extension" \
645 -s "Found PSK_EPHEMERAL KEX MODE" \
646 -S "Found PSK KEX MODE" \
647 -s "Pre shared key found" \
648 -S "No matched PSK or ticket" \
649 -S "key exchange mode: psk$" \
650 -s "key exchange mode: psk_ephemeral" \
651 -S "key exchange mode: ephemeral"
652
653requires_gnutls_tls1_3
654requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
655requires_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
656requires_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 +0800657run_test "TLS 1.3: G->m: ephemeral_all/all, good, key id mismatch, dhe." \
Jerry Yu079472b2022-09-06 11:44:18 +0800658 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800659 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
660 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
661 localhost" \
662 0 \
663 -s "found psk key exchange modes extension" \
664 -s "found pre_shared_key extension" \
665 -s "Found PSK_EPHEMERAL KEX MODE" \
666 -S "Found PSK KEX MODE" \
667 -s "No matched PSK or ticket" \
668 -S "key exchange mode: psk$" \
669 -S "key exchange mode: psk_ephemeral" \
670 -s "key exchange mode: ephemeral"
671
672requires_gnutls_tls1_3
673requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
674requires_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
675requires_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 +0800676run_test "TLS 1.3: G->m: ephemeral_all/all, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800677 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800678 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
679 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
680 localhost" \
681 1 \
682 -s "found psk key exchange modes extension" \
683 -s "found pre_shared_key extension" \
684 -s "Found PSK_EPHEMERAL KEX MODE" \
685 -S "Found PSK KEX MODE" \
686 -s "Invalid binder." \
687 -S "key exchange mode: psk$" \
688 -S "key exchange mode: psk_ephemeral" \
689 -S "key exchange mode: ephemeral"
690
691requires_gnutls_tls1_3
692requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
693requires_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
694requires_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 +0800695run_test "TLS 1.3: G->m: all/all, good" \
Jerry Yu079472b2022-09-06 11:44:18 +0800696 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800697 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
698 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
699 localhost" \
700 0 \
701 -s "found psk key exchange modes extension" \
702 -s "found pre_shared_key extension" \
703 -s "Found PSK_EPHEMERAL KEX MODE" \
704 -s "Found PSK KEX MODE" \
705 -s "Pre shared key found" \
706 -S "No matched PSK or ticket" \
707 -S "key exchange mode: psk$" \
708 -s "key exchange mode: psk_ephemeral" \
709 -S "key exchange mode: ephemeral"
710
711requires_gnutls_tls1_3
712requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
713requires_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
714requires_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 +0800715run_test "TLS 1.3: G->m: all/all, good, key id mismatch, dhe." \
Jerry Yu079472b2022-09-06 11:44:18 +0800716 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800717 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
718 --pskusername wrong_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
719 localhost" \
720 0 \
721 -s "found psk key exchange modes extension" \
722 -s "found pre_shared_key extension" \
723 -s "Found PSK_EPHEMERAL KEX MODE" \
724 -s "Found PSK KEX MODE" \
725 -s "No matched PSK or ticket" \
726 -S "key exchange mode: psk$" \
727 -S "key exchange mode: psk_ephemeral" \
728 -s "key exchange mode: ephemeral"
729
730requires_gnutls_tls1_3
731requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
732requires_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
733requires_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 +0800734run_test "TLS 1.3: G->m: all/all, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800735 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800736 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
737 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
738 localhost" \
739 1 \
740 -s "found psk key exchange modes extension" \
741 -s "found pre_shared_key extension" \
742 -s "Found PSK_EPHEMERAL KEX MODE" \
743 -s "Found PSK KEX MODE" \
744 -s "Invalid binder." \
745 -S "key exchange mode: psk$" \
746 -S "key exchange mode: psk_ephemeral" \
747 -S "key exchange mode: ephemeral"
748
749requires_gnutls_tls1_3
750requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
751requires_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
752requires_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 +0800753run_test "TLS 1.3: G->m: psk_or_ephemeral/all, good" \
Jerry Yu079472b2022-09-06 11:44:18 +0800754 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800755 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
756 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
757 localhost" \
758 0 \
759 -s "found psk key exchange modes extension" \
760 -s "found pre_shared_key extension" \
761 -S "Found PSK_EPHEMERAL KEX MODE" \
762 -s "Found PSK KEX MODE" \
763 -s "Pre shared key found" \
764 -S "No matched PSK or ticket" \
765 -S "key exchange mode: psk$" \
766 -S "key exchange mode: psk_ephemeral" \
767 -s "key exchange mode: ephemeral"
768
769requires_gnutls_tls1_3
770requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
771requires_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
772requires_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 +0800773run_test "TLS 1.3: G->m: psk_or_ephemeral/all, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800774 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800775 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
776 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
777 localhost" \
778 1 \
779 -s "found psk key exchange modes extension" \
780 -s "found pre_shared_key extension" \
781 -S "Found PSK_EPHEMERAL KEX MODE" \
782 -s "Found PSK KEX MODE" \
783 -s "Invalid binder." \
784 -S "key exchange mode: psk$" \
785 -S "key exchange mode: psk_ephemeral" \
786 -S "key exchange mode: ephemeral"
787
788requires_gnutls_tls1_3
789requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
790requires_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
791requires_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 +0800792run_test "TLS 1.3: G->m: ephemeral_all/psk_or_ephemeral, good" \
Jerry Yu079472b2022-09-06 11:44:18 +0800793 "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800794 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:-PSK:+VERS-TLS1.3 \
795 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
796 localhost" \
797 0 \
798 -s "found psk key exchange modes extension" \
799 -s "found pre_shared_key extension" \
800 -s "Found PSK_EPHEMERAL KEX MODE" \
801 -S "Found PSK KEX MODE" \
802 -s "Pre shared key found" \
803 -S "No matched PSK or ticket" \
804 -S "key exchange mode: psk$" \
805 -S "key exchange mode: psk_ephemeral" \
806 -s "key exchange mode: ephemeral"
807
808requires_gnutls_tls1_3
809requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
810requires_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
811requires_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 +0800812run_test "TLS 1.3: G->m: all/psk_or_ephemeral, good" \
Jerry Yu079472b2022-09-06 11:44:18 +0800813 "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800814 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
815 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
816 localhost" \
817 0 \
818 -s "found psk key exchange modes extension" \
819 -s "found pre_shared_key extension" \
820 -s "Found PSK_EPHEMERAL KEX MODE" \
821 -s "Found PSK KEX MODE" \
822 -s "Pre shared key found" \
823 -S "No matched PSK or ticket" \
824 -S "key exchange mode: psk$" \
825 -S "key exchange mode: psk_ephemeral" \
826 -s "key exchange mode: ephemeral"
827
828requires_gnutls_tls1_3
829requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
830requires_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
831requires_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 +0800832run_test "TLS 1.3: G->m: all/psk_or_ephemeral, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800833 "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800834 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3 \
835 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
836 localhost" \
837 1 \
838 -s "found psk key exchange modes extension" \
839 -s "found pre_shared_key extension" \
840 -s "Found PSK_EPHEMERAL KEX MODE" \
841 -s "Found PSK KEX MODE" \
842 -s "Invalid binder." \
843 -S "key exchange mode: psk$" \
844 -S "key exchange mode: psk_ephemeral" \
845 -S "key exchange mode: ephemeral"
846
847requires_gnutls_tls1_3
848requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
849requires_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
850requires_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 +0800851run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_or_ephemeral, good" \
Jerry Yu079472b2022-09-06 11:44:18 +0800852 "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800853 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
854 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f70 \
855 localhost" \
856 0 \
857 -s "found psk key exchange modes extension" \
858 -s "found pre_shared_key extension" \
859 -S "Found PSK_EPHEMERAL KEX MODE" \
860 -s "Found PSK KEX MODE" \
861 -s "Pre shared key found" \
862 -S "No matched PSK or ticket" \
863 -S "key exchange mode: psk$" \
864 -S "key exchange mode: psk_ephemeral" \
865 -s "key exchange mode: ephemeral"
866
867requires_gnutls_tls1_3
868requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
869requires_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
870requires_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 +0800871run_test "TLS 1.3: G->m: psk_or_ephemeral/psk_or_ephemeral, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800872 "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800873 "$G_NEXT_CLI -d 10 --priority NORMAL:-VERS-ALL:-KX-ALL:-ECDHE-PSK:-DHE-PSK:+PSK:+VERS-TLS1.3 \
874 --pskusername Client_identity --pskkey=6162636465666768696a6b6c6d6e6f71 \
875 localhost" \
876 1 \
877 -s "found psk key exchange modes extension" \
878 -s "found pre_shared_key extension" \
879 -S "Found PSK_EPHEMERAL KEX MODE" \
880 -s "Found PSK KEX MODE" \
881 -s "Invalid binder." \
882 -S "key exchange mode: psk$" \
883 -S "key exchange mode: psk_ephemeral" \
884 -S "key exchange mode: ephemeral"
885
886requires_openssl_tls1_3
887requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
888requires_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 +0800889run_test "TLS 1.3: O->m: ephemeral_all/psk, fail, no common kex mode" \
Jerry Yu079472b2022-09-06 11:44:18 +0800890 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800891 "$O_NEXT_CLI -tls1_3 -msg \
892 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
893 1 \
894 -s "found psk key exchange modes extension" \
895 -s "found pre_shared_key extension" \
896 -s "Found PSK_EPHEMERAL KEX MODE" \
897 -S "Found PSK KEX MODE" \
898 -S "key exchange mode: psk$" \
899 -S "key exchange mode: psk_ephemeral" \
900 -S "key exchange mode: ephemeral"
901
902requires_openssl_tls1_3
903requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
904requires_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 +0800905run_test "TLS 1.3: O->m: all/psk, good" \
Jerry Yu079472b2022-09-06 11:44:18 +0800906 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800907 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
908 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
909 0 \
910 -s "found psk key exchange modes extension" \
911 -s "found pre_shared_key extension" \
912 -s "Found PSK_EPHEMERAL KEX MODE" \
913 -s "Found PSK KEX MODE" \
914 -s "Pre shared key found" \
915 -S "No matched PSK or ticket" \
916 -s "key exchange mode: psk$" \
917 -S "key exchange mode: psk_ephemeral" \
918 -S "key exchange mode: ephemeral"
919
920requires_openssl_tls1_3
921requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
922requires_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 +0800923run_test "TLS 1.3: O->m: all/psk, fail, key id mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800924 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800925 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
926 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
927 1 \
928 -s "found psk key exchange modes extension" \
929 -s "found pre_shared_key extension" \
930 -s "Found PSK_EPHEMERAL KEX MODE" \
931 -s "Found PSK KEX MODE" \
932 -s "No matched PSK or ticket" \
933 -S "key exchange mode: psk$" \
934 -S "key exchange mode: psk_ephemeral" \
935 -S "key exchange mode: ephemeral"
936
937requires_openssl_tls1_3
938requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
939requires_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 +0800940run_test "TLS 1.3: O->m: all/psk, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800941 "$P_SRV force_version=tls13 tls13_kex_modes=psk debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800942 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
943 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
944 1 \
945 -s "found psk key exchange modes extension" \
946 -s "found pre_shared_key extension" \
947 -s "Found PSK_EPHEMERAL KEX MODE" \
948 -s "Found PSK KEX MODE" \
949 -s "Invalid binder." \
950 -S "key exchange mode: psk$" \
951 -S "key exchange mode: psk_ephemeral" \
952 -S "key exchange mode: ephemeral"
953
954requires_openssl_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
Jerry Yu7101b872022-08-31 14:15:23 +0800958run_test "TLS 1.3: O->m: ephemeral_all/psk_ephemeral, good" \
Jerry Yu079472b2022-09-06 11:44:18 +0800959 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800960 "$O_NEXT_CLI -tls1_3 -msg \
961 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
962 0 \
963 -s "found psk key exchange modes extension" \
964 -s "found pre_shared_key extension" \
965 -s "Found PSK_EPHEMERAL KEX MODE" \
966 -S "Found PSK KEX MODE" \
967 -s "Pre shared key found" \
968 -S "No matched PSK or ticket" \
969 -S "key exchange mode: psk$" \
970 -s "key exchange mode: psk_ephemeral" \
971 -S "key exchange mode: ephemeral"
972
973requires_openssl_tls1_3
974requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
975requires_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
976requires_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 +0800977run_test "TLS 1.3: O->m: ephemeral_all/psk_ephemeral, fail, key id mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800978 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800979 "$O_NEXT_CLI -tls1_3 -msg \
980 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
981 1 \
982 -s "found psk key exchange modes extension" \
983 -s "found pre_shared_key extension" \
984 -s "Found PSK_EPHEMERAL KEX MODE" \
985 -S "Found PSK KEX MODE" \
986 -s "No matched PSK or ticket" \
987 -S "key exchange mode: psk$" \
988 -S "key exchange mode: psk_ephemeral" \
989 -S "key exchange mode: ephemeral"
990
991requires_openssl_tls1_3
992requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
993requires_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
994requires_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 +0800995run_test "TLS 1.3: O->m: ephemeral_all/psk_ephemeral, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +0800996 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +0800997 "$O_NEXT_CLI -tls1_3 -msg \
998 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
999 1 \
1000 -s "found psk key exchange modes extension" \
1001 -s "found pre_shared_key extension" \
1002 -s "Found PSK_EPHEMERAL KEX MODE" \
1003 -S "Found PSK KEX MODE" \
1004 -s "Invalid binder." \
1005 -S "key exchange mode: psk$" \
1006 -S "key exchange mode: psk_ephemeral" \
1007 -S "key exchange mode: ephemeral"
1008
1009requires_openssl_tls1_3
1010requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1011requires_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
1012requires_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 +08001013run_test "TLS 1.3: O->m: all/psk_ephemeral, good" \
Jerry Yu079472b2022-09-06 11:44:18 +08001014 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001015 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1016 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1017 0 \
1018 -s "found psk key exchange modes extension" \
1019 -s "found pre_shared_key extension" \
1020 -s "Found PSK_EPHEMERAL KEX MODE" \
1021 -s "Found PSK KEX MODE" \
1022 -s "Pre shared key found" \
1023 -S "No matched PSK or ticket" \
1024 -S "key exchange mode: psk$" \
1025 -s "key exchange mode: psk_ephemeral" \
1026 -S "key exchange mode: ephemeral"
1027
1028requires_openssl_tls1_3
1029requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1030requires_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
1031requires_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 +08001032run_test "TLS 1.3: O->m: all/psk_ephemeral, fail, key id mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +08001033 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001034 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1035 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1036 1 \
1037 -s "found psk key exchange modes extension" \
1038 -s "found pre_shared_key extension" \
1039 -s "Found PSK_EPHEMERAL KEX MODE" \
1040 -s "Found PSK KEX MODE" \
1041 -s "No matched PSK or ticket" \
1042 -S "key exchange mode: psk$" \
1043 -S "key exchange mode: psk_ephemeral" \
1044 -S "key exchange mode: ephemeral"
1045
1046requires_openssl_tls1_3
1047requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1048requires_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
1049requires_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 +08001050run_test "TLS 1.3: O->m: all/psk_ephemeral, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +08001051 "$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001052 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1053 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1054 1 \
1055 -s "found psk key exchange modes extension" \
1056 -s "found pre_shared_key extension" \
1057 -s "Found PSK_EPHEMERAL KEX MODE" \
1058 -s "Found PSK KEX MODE" \
1059 -s "Invalid binder." \
1060 -S "key exchange mode: psk$" \
1061 -S "key exchange mode: psk_ephemeral" \
1062 -S "key exchange mode: ephemeral"
1063
1064requires_openssl_tls1_3
1065requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1066requires_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
1067requires_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 +08001068run_test "TLS 1.3: O->m: ephemeral_all/psk_all, good" \
Jerry Yu079472b2022-09-06 11:44:18 +08001069 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001070 "$O_NEXT_CLI -tls1_3 -msg \
1071 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1072 0 \
1073 -s "found psk key exchange modes extension" \
1074 -s "found pre_shared_key extension" \
1075 -s "Found PSK_EPHEMERAL KEX MODE" \
1076 -S "Found PSK KEX MODE" \
1077 -s "Pre shared key found" \
1078 -S "No matched PSK or ticket" \
1079 -S "key exchange mode: psk$" \
1080 -s "key exchange mode: psk_ephemeral" \
1081 -S "key exchange mode: ephemeral"
1082
1083requires_openssl_tls1_3
1084requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1085requires_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
1086requires_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 +08001087run_test "TLS 1.3: O->m: ephemeral_all/psk_all, fail, key id mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +08001088 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001089 "$O_NEXT_CLI -tls1_3 -msg \
1090 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1091 1 \
1092 -s "found psk key exchange modes extension" \
1093 -s "found pre_shared_key extension" \
1094 -s "Found PSK_EPHEMERAL KEX MODE" \
1095 -S "Found PSK KEX MODE" \
1096 -s "No matched PSK or ticket" \
1097 -S "key exchange mode: psk$" \
1098 -S "key exchange mode: psk_ephemeral" \
1099 -S "key exchange mode: ephemeral"
1100
1101requires_openssl_tls1_3
1102requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1103requires_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
1104requires_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 +08001105run_test "TLS 1.3: O->m: ephemeral_all/psk_all, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +08001106 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001107 "$O_NEXT_CLI -tls1_3 -msg \
1108 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1109 1 \
1110 -s "found psk key exchange modes extension" \
1111 -s "found pre_shared_key extension" \
1112 -s "Found PSK_EPHEMERAL KEX MODE" \
1113 -S "Found PSK KEX MODE" \
1114 -s "Invalid binder." \
1115 -S "key exchange mode: psk$" \
1116 -S "key exchange mode: psk_ephemeral" \
1117 -S "key exchange mode: ephemeral"
1118
1119requires_openssl_tls1_3
1120requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1121requires_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
1122requires_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 +08001123run_test "TLS 1.3: O->m: all/psk_all, good" \
Jerry Yu079472b2022-09-06 11:44:18 +08001124 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001125 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1126 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1127 0 \
1128 -s "found psk key exchange modes extension" \
1129 -s "found pre_shared_key extension" \
1130 -s "Found PSK_EPHEMERAL KEX MODE" \
1131 -s "Found PSK KEX MODE" \
1132 -s "Pre shared key found" \
1133 -S "No matched PSK or ticket" \
1134 -S "key exchange mode: psk$" \
1135 -s "key exchange mode: psk_ephemeral" \
1136 -S "key exchange mode: ephemeral"
1137
1138requires_openssl_tls1_3
1139requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1140requires_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
1141requires_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 +08001142run_test "TLS 1.3: O->m: all/psk_all, fail, key id mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +08001143 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001144 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1145 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1146 1 \
1147 -s "found psk key exchange modes extension" \
1148 -s "found pre_shared_key extension" \
1149 -s "Found PSK_EPHEMERAL KEX MODE" \
1150 -s "Found PSK KEX MODE" \
1151 -s "No matched PSK or ticket" \
1152 -S "key exchange mode: psk$" \
1153 -S "key exchange mode: psk_ephemeral" \
1154 -S "key exchange mode: ephemeral"
1155
1156requires_openssl_tls1_3
1157requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1158requires_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
1159requires_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 +08001160run_test "TLS 1.3: O->m: all/psk_all, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +08001161 "$P_SRV force_version=tls13 tls13_kex_modes=psk_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001162 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1163 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1164 1 \
1165 -s "found psk key exchange modes extension" \
1166 -s "found pre_shared_key extension" \
1167 -s "Found PSK_EPHEMERAL KEX MODE" \
1168 -s "Found PSK KEX MODE" \
1169 -s "Invalid binder." \
1170 -S "key exchange mode: psk$" \
1171 -S "key exchange mode: psk_ephemeral" \
1172 -S "key exchange mode: ephemeral"
1173
1174requires_openssl_tls1_3
1175requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1176requires_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
1177requires_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 +08001178run_test "TLS 1.3: O->m: ephemeral_all/ephemeral_all, good" \
Jerry Yu079472b2022-09-06 11:44:18 +08001179 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001180 "$O_NEXT_CLI -tls1_3 -msg \
1181 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1182 0 \
1183 -s "found psk key exchange modes extension" \
1184 -s "found pre_shared_key extension" \
1185 -s "Found PSK_EPHEMERAL KEX MODE" \
1186 -S "Found PSK KEX MODE" \
1187 -s "Pre shared key found" \
1188 -S "No matched PSK or ticket" \
1189 -S "key exchange mode: psk$" \
1190 -s "key exchange mode: psk_ephemeral" \
1191 -S "key exchange mode: ephemeral"
1192
1193requires_openssl_tls1_3
1194requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1195requires_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
1196requires_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 +08001197run_test "TLS 1.3: O->m: ephemeral_all/ephemeral_all, good, key id mismatch, dhe." \
Jerry Yu079472b2022-09-06 11:44:18 +08001198 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001199 "$O_NEXT_CLI -tls1_3 -msg \
1200 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1201 0 \
1202 -s "found psk key exchange modes extension" \
1203 -s "found pre_shared_key extension" \
1204 -s "Found PSK_EPHEMERAL KEX MODE" \
1205 -S "Found PSK KEX MODE" \
1206 -s "No matched PSK or ticket" \
1207 -S "key exchange mode: psk$" \
1208 -S "key exchange mode: psk_ephemeral" \
1209 -s "key exchange mode: ephemeral"
1210
1211requires_openssl_tls1_3
1212requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1213requires_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
1214requires_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 +08001215run_test "TLS 1.3: O->m: ephemeral_all/ephemeral_all, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +08001216 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001217 "$O_NEXT_CLI -tls1_3 -msg \
1218 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1219 1 \
1220 -s "found psk key exchange modes extension" \
1221 -s "found pre_shared_key extension" \
1222 -s "Found PSK_EPHEMERAL KEX MODE" \
1223 -S "Found PSK KEX MODE" \
1224 -s "Invalid binder." \
1225 -S "key exchange mode: psk$" \
1226 -S "key exchange mode: psk_ephemeral" \
1227 -S "key exchange mode: ephemeral"
1228
1229requires_openssl_tls1_3
1230requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1231requires_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
1232requires_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 +08001233run_test "TLS 1.3: O->m: all/ephemeral_all, good" \
Jerry Yu079472b2022-09-06 11:44:18 +08001234 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001235 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1236 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1237 0 \
1238 -s "found psk key exchange modes extension" \
1239 -s "found pre_shared_key extension" \
1240 -s "Found PSK_EPHEMERAL KEX MODE" \
1241 -s "Found PSK KEX MODE" \
1242 -s "Pre shared key found" \
1243 -S "No matched PSK or ticket" \
1244 -S "key exchange mode: psk$" \
1245 -s "key exchange mode: psk_ephemeral" \
1246 -S "key exchange mode: ephemeral"
1247
1248requires_openssl_tls1_3
1249requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1250requires_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
1251requires_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 +08001252run_test "TLS 1.3: O->m: all/ephemeral_all, good, key id mismatch, dhe." \
Jerry Yu079472b2022-09-06 11:44:18 +08001253 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001254 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1255 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1256 0 \
1257 -s "found psk key exchange modes extension" \
1258 -s "found pre_shared_key extension" \
1259 -s "Found PSK_EPHEMERAL KEX MODE" \
1260 -s "Found PSK KEX MODE" \
1261 -s "No matched PSK or ticket" \
1262 -S "key exchange mode: psk$" \
1263 -S "key exchange mode: psk_ephemeral" \
1264 -s "key exchange mode: ephemeral"
1265
1266requires_openssl_tls1_3
1267requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1268requires_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
1269requires_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 +08001270run_test "TLS 1.3: O->m: all/ephemeral_all, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +08001271 "$P_SRV force_version=tls13 tls13_kex_modes=ephemeral_all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001272 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1273 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1274 1 \
1275 -s "found psk key exchange modes extension" \
1276 -s "found pre_shared_key extension" \
1277 -s "Found PSK_EPHEMERAL KEX MODE" \
1278 -s "Found PSK KEX MODE" \
1279 -s "Invalid binder." \
1280 -S "key exchange mode: psk$" \
1281 -S "key exchange mode: psk_ephemeral" \
1282 -S "key exchange mode: ephemeral"
1283
1284requires_openssl_tls1_3
1285requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1286requires_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
1287requires_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 +08001288run_test "TLS 1.3: O->m: ephemeral_all/all, good" \
Jerry Yu079472b2022-09-06 11:44:18 +08001289 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001290 "$O_NEXT_CLI -tls1_3 -msg \
1291 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1292 0 \
1293 -s "found psk key exchange modes extension" \
1294 -s "found pre_shared_key extension" \
1295 -s "Found PSK_EPHEMERAL KEX MODE" \
1296 -S "Found PSK KEX MODE" \
1297 -s "Pre shared key found" \
1298 -S "No matched PSK or ticket" \
1299 -S "key exchange mode: psk$" \
1300 -s "key exchange mode: psk_ephemeral" \
1301 -S "key exchange mode: ephemeral"
1302
1303requires_openssl_tls1_3
1304requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1305requires_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
1306requires_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 +08001307run_test "TLS 1.3: O->m: ephemeral_all/all, good, key id mismatch, dhe." \
Jerry Yu079472b2022-09-06 11:44:18 +08001308 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001309 "$O_NEXT_CLI -tls1_3 -msg \
1310 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1311 0 \
1312 -s "found psk key exchange modes extension" \
1313 -s "found pre_shared_key extension" \
1314 -s "Found PSK_EPHEMERAL KEX MODE" \
1315 -S "Found PSK KEX MODE" \
1316 -s "No matched PSK or ticket" \
1317 -S "key exchange mode: psk$" \
1318 -S "key exchange mode: psk_ephemeral" \
1319 -s "key exchange mode: ephemeral"
1320
1321requires_openssl_tls1_3
1322requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1323requires_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
1324requires_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 +08001325run_test "TLS 1.3: O->m: ephemeral_all/all, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +08001326 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001327 "$O_NEXT_CLI -tls1_3 -msg \
1328 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1329 1 \
1330 -s "found psk key exchange modes extension" \
1331 -s "found pre_shared_key extension" \
1332 -s "Found PSK_EPHEMERAL KEX MODE" \
1333 -S "Found PSK KEX MODE" \
1334 -s "Invalid binder." \
1335 -S "key exchange mode: psk$" \
1336 -S "key exchange mode: psk_ephemeral" \
1337 -S "key exchange mode: ephemeral"
1338
1339requires_openssl_tls1_3
1340requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1341requires_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
1342requires_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 +08001343run_test "TLS 1.3: O->m: all/all, good" \
Jerry Yu079472b2022-09-06 11:44:18 +08001344 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001345 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1346 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1347 0 \
1348 -s "found psk key exchange modes extension" \
1349 -s "found pre_shared_key extension" \
1350 -s "Found PSK_EPHEMERAL KEX MODE" \
1351 -s "Found PSK KEX MODE" \
1352 -s "Pre shared key found" \
1353 -S "No matched PSK or ticket" \
1354 -S "key exchange mode: psk$" \
1355 -s "key exchange mode: psk_ephemeral" \
1356 -S "key exchange mode: ephemeral"
1357
1358requires_openssl_tls1_3
1359requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1360requires_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
1361requires_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 +08001362run_test "TLS 1.3: O->m: all/all, good, key id mismatch, dhe." \
Jerry Yu079472b2022-09-06 11:44:18 +08001363 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001364 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1365 -psk_identity wrong_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1366 0 \
1367 -s "found psk key exchange modes extension" \
1368 -s "found pre_shared_key extension" \
1369 -s "Found PSK_EPHEMERAL KEX MODE" \
1370 -s "Found PSK KEX MODE" \
1371 -s "No matched PSK or ticket" \
1372 -S "key exchange mode: psk$" \
1373 -S "key exchange mode: psk_ephemeral" \
1374 -s "key exchange mode: ephemeral"
1375
1376requires_openssl_tls1_3
1377requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1378requires_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
1379requires_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 +08001380run_test "TLS 1.3: O->m: all/all, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +08001381 "$P_SRV force_version=tls13 tls13_kex_modes=all debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001382 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1383 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1384 1 \
1385 -s "found psk key exchange modes extension" \
1386 -s "found pre_shared_key extension" \
1387 -s "Found PSK_EPHEMERAL KEX MODE" \
1388 -s "Found PSK KEX MODE" \
1389 -s "Invalid binder." \
1390 -S "key exchange mode: psk$" \
1391 -S "key exchange mode: psk_ephemeral" \
1392 -S "key exchange mode: ephemeral"
1393
1394requires_openssl_tls1_3
1395requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1396requires_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
1397requires_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 +08001398run_test "TLS 1.3: O->m: ephemeral_all/psk_or_ephemeral, good" \
Jerry Yu079472b2022-09-06 11:44:18 +08001399 "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001400 "$O_NEXT_CLI -tls1_3 -msg \
1401 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1402 0 \
1403 -s "found psk key exchange modes extension" \
1404 -s "found pre_shared_key extension" \
1405 -s "Found PSK_EPHEMERAL KEX MODE" \
1406 -S "Found PSK KEX MODE" \
1407 -s "Pre shared key found" \
1408 -S "No matched PSK or ticket" \
1409 -S "key exchange mode: psk$" \
1410 -S "key exchange mode: psk_ephemeral" \
1411 -s "key exchange mode: ephemeral"
1412
1413requires_openssl_tls1_3
1414requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1415requires_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
1416requires_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 +08001417run_test "TLS 1.3: O->m: all/psk_or_ephemeral, good" \
Jerry Yu079472b2022-09-06 11:44:18 +08001418 "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001419 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1420 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70" \
1421 0 \
1422 -s "found psk key exchange modes extension" \
1423 -s "found pre_shared_key extension" \
1424 -s "Found PSK_EPHEMERAL KEX MODE" \
1425 -s "Found PSK KEX MODE" \
1426 -s "Pre shared key found" \
1427 -S "No matched PSK or ticket" \
1428 -S "key exchange mode: psk$" \
1429 -S "key exchange mode: psk_ephemeral" \
1430 -s "key exchange mode: ephemeral"
1431
1432requires_openssl_tls1_3
1433requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
1434requires_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
1435requires_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 +08001436run_test "TLS 1.3: O->m: all/psk_or_ephemeral, fail, key material mismatch" \
Jerry Yu079472b2022-09-06 11:44:18 +08001437 "$P_SRV force_version=tls13 tls13_kex_modes=psk_or_ephemeral debug_level=5 $P_SRV_PSK_LIST" \
Jerry Yue7b4b582022-08-25 17:53:13 +08001438 "$O_NEXT_CLI -tls1_3 -msg -allow_no_dhe_kex \
1439 -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f71" \
1440 1 \
1441 -s "found psk key exchange modes extension" \
1442 -s "found pre_shared_key extension" \
1443 -s "Found PSK_EPHEMERAL KEX MODE" \
1444 -s "Found PSK KEX MODE" \
1445 -s "Invalid binder." \
1446 -S "key exchange mode: psk$" \
1447 -S "key exchange mode: psk_ephemeral" \
1448 -S "key exchange mode: ephemeral"