blob: 73aad366deb0316d5dd134f45d982f7c1ec6a7fe [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
41run_test "Sample: ssl_client1, gnutls server, TLS 1.3" \
42 -P 4433 \
43 "$G_SRV --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3" \
44 "$PROGRAMS_DIR/ssl_client1" \
45 0 \
46 -s "Version: TLS1.3" \
47 -c "<TD>Protocol version:</TD><TD>TLS1.3</TD>" \
48 -S "Error" \
49 -C "error"
Gilles Peskineae710c82024-09-04 16:07:56 +020050
51requires_protocol_version dtls12
52run_test "Sample: dtls_client, openssl server, DTLS 1.2" \
53 -P 4433 \
54 "$O_SRV -dtls1_2" \
55 "$PROGRAMS_DIR/dtls_client" \
56 0 \
57 -s "Echo this" \
58 -s "DONE" \
59 -c "Echo this" \
60 -c "[1-9][0-9]* bytes written" \
61 -c "[1-9][0-9]* bytes read" \
62 -S "ERROR" \
63 -C "error"
64
65requires_protocol_version dtls12
66run_test "Sample: dtls_client, gnutls server, DTLS 1.2" \
67 -P 4433 \
68 "$G_SRV -u --echo --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2" \
69 "$PROGRAMS_DIR/dtls_client" \
70 0 \
71 -s "Server listening" \
72 -s "[1-9][0-9]* bytes command:" \
73 -c "Echo this" \
74 -c "[1-9][0-9]* bytes written" \
75 -c "[1-9][0-9]* bytes read" \
76 -S "Error" \
77 -C "error"
Gilles Peskinea21e8932024-09-04 16:30:32 +020078
79requires_protocol_version tls12
80run_test "Sample: ssl_server, openssl client, TLS 1.2" \
81 -P 4433 \
82 "$PROGRAMS_DIR/ssl_server" \
83 "$O_CLI -tls1_2" \
84 0 \
85 -s "Successful connection using: TLS-" \
86 -c "New, TLSv1.2, Cipher is" \
87 -S "error" \
88 -C "ERROR"
89
90requires_protocol_version tls12
91run_test "Sample: ssl_server, gnutls client, TLS 1.2" \
92 -P 4433 \
93 "$PROGRAMS_DIR/ssl_server" \
94 "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2 localhost" \
95 0 \
96 -s "Successful connection using: TLS-" \
97 -c "Description:.*TLS1.2" \
98 -S "error" \
99 -C "ERROR"
100
101requires_protocol_version tls13
Gilles Peskine33388212024-09-04 23:32:42 +0200102requires_openssl_tls1_3
Gilles Peskinea21e8932024-09-04 16:30:32 +0200103run_test "Sample: ssl_server, openssl client, TLS 1.3" \
104 -P 4433 \
105 "$PROGRAMS_DIR/ssl_server" \
Gilles Peskine33388212024-09-04 23:32:42 +0200106 "$O_NEXT_CLI -tls1_3" \
Gilles Peskinea21e8932024-09-04 16:30:32 +0200107 0 \
108 -s "Successful connection using: TLS1-3-" \
109 -c "New, TLSv1.3, Cipher is" \
110 -S "error" \
111 -C "ERROR"
112
113requires_protocol_version tls13
114run_test "Sample: ssl_server, gnutls client, TLS 1.3" \
115 -P 4433 \
116 "$PROGRAMS_DIR/ssl_server" \
117 "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3 localhost" \
118 0 \
119 -s "Successful connection using: TLS1-3-" \
120 -c "Description:.*TLS1.3" \
121 -S "error" \
122 -C "ERROR"
Gilles Peskine3abca952024-09-04 16:31:06 +0200123
124requires_protocol_version tls12
Gilles Peskinec83e56c2024-09-04 17:47:14 +0200125run_test "Sample: ssl_fork_server, openssl client, TLS 1.2" \
126 -P 4433 \
127 "$PROGRAMS_DIR/ssl_fork_server" \
128 "$O_CLI -tls1_2" \
129 0 \
130 -s "Successful connection using: TLS-" \
131 -c "New, TLSv1.2, Cipher is" \
132 -S "error" \
133 -C "ERROR"
134
135requires_protocol_version tls12
136run_test "Sample: ssl_fork_server, gnutls client, TLS 1.2" \
137 -P 4433 \
138 "$PROGRAMS_DIR/ssl_fork_server" \
139 "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2 localhost" \
140 0 \
141 -s "Successful connection using: TLS-" \
142 -c "Description:.*TLS1.2" \
143 -S "error" \
144 -C "ERROR"
145
146requires_protocol_version tls13
Gilles Peskine33388212024-09-04 23:32:42 +0200147requires_openssl_tls1_3
Gilles Peskinec83e56c2024-09-04 17:47:14 +0200148run_test "Sample: ssl_fork_server, openssl client, TLS 1.3" \
149 -P 4433 \
150 "$PROGRAMS_DIR/ssl_fork_server" \
Gilles Peskine33388212024-09-04 23:32:42 +0200151 "$O_NEXT_CLI -tls1_3" \
Gilles Peskinec83e56c2024-09-04 17:47:14 +0200152 0 \
153 -s "Successful connection using: TLS1-3-" \
154 -c "New, TLSv1.3, Cipher is" \
155 -S "error" \
156 -C "ERROR"
157
158requires_protocol_version tls13
159run_test "Sample: ssl_fork_server, gnutls client, TLS 1.3" \
160 -P 4433 \
161 "$PROGRAMS_DIR/ssl_fork_server" \
162 "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3 localhost" \
163 0 \
164 -s "Successful connection using: TLS1-3-" \
165 -c "Description:.*TLS1.3" \
166 -S "error" \
167 -C "ERROR"
168
169requires_protocol_version tls12
Gilles Peskine3abca952024-09-04 16:31:06 +0200170run_test "Sample: ssl_pthread_server, openssl client, TLS 1.2" \
171 -P 4433 \
172 "$PROGRAMS_DIR/ssl_pthread_server" \
173 "$O_CLI -tls1_2" \
174 0 \
175 -s "Successful connection using: TLS-" \
176 -c "New, TLSv1.2, Cipher is" \
177 -S "error" \
178 -C "ERROR"
179
180requires_protocol_version tls12
181run_test "Sample: ssl_pthread_server, gnutls client, TLS 1.2" \
182 -P 4433 \
183 "$PROGRAMS_DIR/ssl_pthread_server" \
184 "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2 localhost" \
185 0 \
186 -s "Successful connection using: TLS-" \
187 -c "Description:.*TLS1.2" \
188 -S "error" \
189 -C "ERROR"
190
191requires_protocol_version tls13
Gilles Peskine33388212024-09-04 23:32:42 +0200192requires_openssl_tls1_3
Gilles Peskine3abca952024-09-04 16:31:06 +0200193run_test "Sample: ssl_pthread_server, openssl client, TLS 1.3" \
194 -P 4433 \
195 "$PROGRAMS_DIR/ssl_pthread_server" \
Gilles Peskine33388212024-09-04 23:32:42 +0200196 "$O_NEXT_CLI -tls1_3" \
Gilles Peskine3abca952024-09-04 16:31:06 +0200197 0 \
198 -s "Successful connection using: TLS1-3-" \
199 -c "New, TLSv1.3, Cipher is" \
200 -S "error" \
201 -C "ERROR"
202
203requires_protocol_version tls13
204run_test "Sample: ssl_pthread_server, gnutls client, TLS 1.3" \
205 -P 4433 \
206 "$PROGRAMS_DIR/ssl_pthread_server" \
207 "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3 localhost" \
208 0 \
209 -s "Successful connection using: TLS1-3-" \
210 -c "Description:.*TLS1.3" \
211 -S "error" \
212 -C "ERROR"
Gilles Peskine6b4d6932024-09-04 16:51:50 +0200213
214requires_protocol_version dtls12
215run_test "Sample: dtls_server, openssl client, DTLS 1.2" \
216 -P 4433 \
217 "$PROGRAMS_DIR/dtls_server" \
218 "$O_CLI -dtls1_2" \
219 0 \
220 -s "[1-9][0-9]* bytes read" \
221 -s "[1-9][0-9]* bytes written" \
222 -c "New, TLSv1.2, Cipher is" \
223 -S "error" \
224 -C "ERROR"
225
226requires_protocol_version dtls12
227run_test "Sample: dtls_server, gnutls client, DTLS 1.2" \
228 -P 4433 \
229 "$PROGRAMS_DIR/dtls_server" \
230 "$G_CLI -u --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2 localhost" \
231 0 \
232 -s "[1-9][0-9]* bytes read" \
233 -s "[1-9][0-9]* bytes written" \
234 -c "Description:.*DTLS1.2" \
235 -S "error" \
236 -C "ERROR"