blob: 7a73cd6b6c14787488e5bbc5067b22c187a1fa4c [file] [log] [blame]
Gilles Peskinea602a412024-09-04 16:04:42 +02001# Test that SSL sample programs can interoperate with OpenSSL and GnuTLS.
2
3# Copyright The Mbed TLS Contributors
4# SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
5
6: ${PROGRAMS_DIR:=../programs/ssl}
Gilles Peskine7985d452024-09-04 16:06:10 +02007
8requires_protocol_version tls12
9run_test "Sample: ssl_client1, openssl server, TLS 1.2" \
10 -P 4433 \
11 "$O_SRV -tls1_2" \
12 "$PROGRAMS_DIR/ssl_client1" \
13 0 \
14 -c "New, TLSv1.2, Cipher is" \
15 -S "ERROR" \
16 -C "error"
17
18requires_protocol_version tls12
19run_test "Sample: ssl_client1, gnutls server, TLS 1.2" \
20 -P 4433 \
21 "$G_SRV --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2" \
22 "$PROGRAMS_DIR/ssl_client1" \
23 0 \
24 -s "Version: TLS1.2" \
25 -c "<TD>Protocol version:</TD><TD>TLS1.2</TD>" \
26 -S "Error" \
27 -C "error"
28
29requires_protocol_version tls13
Gilles Peskine33388212024-09-04 23:32:42 +020030requires_openssl_tls1_3
Gilles Peskine7985d452024-09-04 16:06:10 +020031run_test "Sample: ssl_client1, openssl server, TLS 1.3" \
32 -P 4433 \
Gilles Peskine33388212024-09-04 23:32:42 +020033 "$O_NEXT_SRV -tls1_3" \
Gilles Peskine7985d452024-09-04 16:06:10 +020034 "$PROGRAMS_DIR/ssl_client1" \
35 0 \
36 -c "New, TLSv1.3, Cipher is" \
37 -S "ERROR" \
38 -C "error"
39
40requires_protocol_version tls13
Gilles Peskine8db2b792024-09-05 13:05:49 +020041requires_gnutls_tls1_3
Gilles Peskine7985d452024-09-04 16:06:10 +020042run_test "Sample: ssl_client1, gnutls server, TLS 1.3" \
43 -P 4433 \
Gilles Peskine8db2b792024-09-05 13:05:49 +020044 "$G_NEXT_SRV --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3" \
Gilles Peskine7985d452024-09-04 16:06:10 +020045 "$PROGRAMS_DIR/ssl_client1" \
46 0 \
47 -s "Version: TLS1.3" \
48 -c "<TD>Protocol version:</TD><TD>TLS1.3</TD>" \
49 -S "Error" \
50 -C "error"
Gilles Peskineae710c82024-09-04 16:07:56 +020051
52requires_protocol_version dtls12
53run_test "Sample: dtls_client, openssl server, DTLS 1.2" \
54 -P 4433 \
55 "$O_SRV -dtls1_2" \
56 "$PROGRAMS_DIR/dtls_client" \
57 0 \
58 -s "Echo this" \
59 -s "DONE" \
60 -c "Echo this" \
61 -c "[1-9][0-9]* bytes written" \
62 -c "[1-9][0-9]* bytes read" \
63 -S "ERROR" \
64 -C "error"
65
66requires_protocol_version dtls12
67run_test "Sample: dtls_client, gnutls server, DTLS 1.2" \
68 -P 4433 \
69 "$G_SRV -u --echo --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2" \
70 "$PROGRAMS_DIR/dtls_client" \
71 0 \
72 -s "Server listening" \
73 -s "[1-9][0-9]* bytes command:" \
74 -c "Echo this" \
75 -c "[1-9][0-9]* bytes written" \
76 -c "[1-9][0-9]* bytes read" \
77 -S "Error" \
78 -C "error"
Gilles Peskinea21e8932024-09-04 16:30:32 +020079
80requires_protocol_version tls12
81run_test "Sample: ssl_server, openssl client, TLS 1.2" \
82 -P 4433 \
83 "$PROGRAMS_DIR/ssl_server" \
84 "$O_CLI -tls1_2" \
85 0 \
86 -s "Successful connection using: TLS-" \
87 -c "New, TLSv1.2, Cipher is" \
88 -S "error" \
89 -C "ERROR"
90
91requires_protocol_version tls12
92run_test "Sample: ssl_server, gnutls client, TLS 1.2" \
93 -P 4433 \
94 "$PROGRAMS_DIR/ssl_server" \
95 "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2 localhost" \
96 0 \
97 -s "Successful connection using: TLS-" \
98 -c "Description:.*TLS1.2" \
99 -S "error" \
100 -C "ERROR"
101
102requires_protocol_version tls13
Gilles Peskine33388212024-09-04 23:32:42 +0200103requires_openssl_tls1_3
Gilles Peskinea21e8932024-09-04 16:30:32 +0200104run_test "Sample: ssl_server, openssl client, TLS 1.3" \
105 -P 4433 \
106 "$PROGRAMS_DIR/ssl_server" \
Gilles Peskine33388212024-09-04 23:32:42 +0200107 "$O_NEXT_CLI -tls1_3" \
Gilles Peskinea21e8932024-09-04 16:30:32 +0200108 0 \
109 -s "Successful connection using: TLS1-3-" \
110 -c "New, TLSv1.3, Cipher is" \
111 -S "error" \
112 -C "ERROR"
113
114requires_protocol_version tls13
Gilles Peskine8db2b792024-09-05 13:05:49 +0200115requires_gnutls_tls1_3
Gilles Peskinea21e8932024-09-04 16:30:32 +0200116run_test "Sample: ssl_server, gnutls client, TLS 1.3" \
117 -P 4433 \
118 "$PROGRAMS_DIR/ssl_server" \
Gilles Peskine8db2b792024-09-05 13:05:49 +0200119 "$G_NEXT_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3 localhost" \
Gilles Peskinea21e8932024-09-04 16:30:32 +0200120 0 \
121 -s "Successful connection using: TLS1-3-" \
122 -c "Description:.*TLS1.3" \
123 -S "error" \
124 -C "ERROR"
Gilles Peskine3abca952024-09-04 16:31:06 +0200125
126requires_protocol_version tls12
Gilles Peskinec83e56c2024-09-04 17:47:14 +0200127run_test "Sample: ssl_fork_server, openssl client, TLS 1.2" \
128 -P 4433 \
129 "$PROGRAMS_DIR/ssl_fork_server" \
130 "$O_CLI -tls1_2" \
131 0 \
132 -s "Successful connection using: TLS-" \
133 -c "New, TLSv1.2, Cipher is" \
134 -S "error" \
135 -C "ERROR"
136
137requires_protocol_version tls12
138run_test "Sample: ssl_fork_server, gnutls client, TLS 1.2" \
139 -P 4433 \
140 "$PROGRAMS_DIR/ssl_fork_server" \
141 "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2 localhost" \
142 0 \
143 -s "Successful connection using: TLS-" \
144 -c "Description:.*TLS1.2" \
145 -S "error" \
146 -C "ERROR"
147
148requires_protocol_version tls13
Gilles Peskine33388212024-09-04 23:32:42 +0200149requires_openssl_tls1_3
Gilles Peskinec83e56c2024-09-04 17:47:14 +0200150run_test "Sample: ssl_fork_server, openssl client, TLS 1.3" \
151 -P 4433 \
152 "$PROGRAMS_DIR/ssl_fork_server" \
Gilles Peskine33388212024-09-04 23:32:42 +0200153 "$O_NEXT_CLI -tls1_3" \
Gilles Peskinec83e56c2024-09-04 17:47:14 +0200154 0 \
155 -s "Successful connection using: TLS1-3-" \
156 -c "New, TLSv1.3, Cipher is" \
157 -S "error" \
158 -C "ERROR"
159
160requires_protocol_version tls13
Gilles Peskine8db2b792024-09-05 13:05:49 +0200161requires_gnutls_tls1_3
Gilles Peskinec83e56c2024-09-04 17:47:14 +0200162run_test "Sample: ssl_fork_server, gnutls client, TLS 1.3" \
163 -P 4433 \
164 "$PROGRAMS_DIR/ssl_fork_server" \
Gilles Peskine8db2b792024-09-05 13:05:49 +0200165 "$G_NEXT_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3 localhost" \
Gilles Peskinec83e56c2024-09-04 17:47:14 +0200166 0 \
167 -s "Successful connection using: TLS1-3-" \
168 -c "Description:.*TLS1.3" \
169 -S "error" \
170 -C "ERROR"
171
172requires_protocol_version tls12
Gilles Peskine3abca952024-09-04 16:31:06 +0200173run_test "Sample: ssl_pthread_server, openssl client, TLS 1.2" \
174 -P 4433 \
175 "$PROGRAMS_DIR/ssl_pthread_server" \
176 "$O_CLI -tls1_2" \
177 0 \
178 -s "Successful connection using: TLS-" \
179 -c "New, TLSv1.2, Cipher is" \
180 -S "error" \
181 -C "ERROR"
182
183requires_protocol_version tls12
184run_test "Sample: ssl_pthread_server, gnutls client, TLS 1.2" \
185 -P 4433 \
186 "$PROGRAMS_DIR/ssl_pthread_server" \
187 "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2 localhost" \
188 0 \
189 -s "Successful connection using: TLS-" \
190 -c "Description:.*TLS1.2" \
191 -S "error" \
192 -C "ERROR"
193
194requires_protocol_version tls13
Gilles Peskine33388212024-09-04 23:32:42 +0200195requires_openssl_tls1_3
Gilles Peskine3abca952024-09-04 16:31:06 +0200196run_test "Sample: ssl_pthread_server, openssl client, TLS 1.3" \
197 -P 4433 \
198 "$PROGRAMS_DIR/ssl_pthread_server" \
Gilles Peskine33388212024-09-04 23:32:42 +0200199 "$O_NEXT_CLI -tls1_3" \
Gilles Peskine3abca952024-09-04 16:31:06 +0200200 0 \
201 -s "Successful connection using: TLS1-3-" \
202 -c "New, TLSv1.3, Cipher is" \
203 -S "error" \
204 -C "ERROR"
205
206requires_protocol_version tls13
Gilles Peskine8db2b792024-09-05 13:05:49 +0200207requires_gnutls_tls1_3
Gilles Peskine3abca952024-09-04 16:31:06 +0200208run_test "Sample: ssl_pthread_server, gnutls client, TLS 1.3" \
209 -P 4433 \
210 "$PROGRAMS_DIR/ssl_pthread_server" \
Gilles Peskine8db2b792024-09-05 13:05:49 +0200211 "$G_NEXT_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3 localhost" \
Gilles Peskine3abca952024-09-04 16:31:06 +0200212 0 \
213 -s "Successful connection using: TLS1-3-" \
214 -c "Description:.*TLS1.3" \
215 -S "error" \
216 -C "ERROR"
Gilles Peskine6b4d6932024-09-04 16:51:50 +0200217
218requires_protocol_version dtls12
219run_test "Sample: dtls_server, openssl client, DTLS 1.2" \
220 -P 4433 \
221 "$PROGRAMS_DIR/dtls_server" \
222 "$O_CLI -dtls1_2" \
223 0 \
224 -s "[1-9][0-9]* bytes read" \
225 -s "[1-9][0-9]* bytes written" \
226 -c "New, TLSv1.2, Cipher is" \
227 -S "error" \
228 -C "ERROR"
229
230requires_protocol_version dtls12
231run_test "Sample: dtls_server, gnutls client, DTLS 1.2" \
232 -P 4433 \
233 "$PROGRAMS_DIR/dtls_server" \
234 "$G_CLI -u --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2 localhost" \
235 0 \
236 -s "[1-9][0-9]* bytes read" \
237 -s "[1-9][0-9]* bytes written" \
238 -c "Description:.*DTLS1.2" \
239 -S "error" \
240 -C "ERROR"