blob: a74d597c28a22d10b7abdce530324d2b85841980 [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
30run_test "Sample: ssl_client1, openssl server, TLS 1.3" \
31 -P 4433 \
32 "$O_SRV -tls1_3" \
33 "$PROGRAMS_DIR/ssl_client1" \
34 0 \
35 -c "New, TLSv1.3, Cipher is" \
36 -S "ERROR" \
37 -C "error"
38
39requires_protocol_version tls13
40run_test "Sample: ssl_client1, gnutls server, TLS 1.3" \
41 -P 4433 \
42 "$G_SRV --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3" \
43 "$PROGRAMS_DIR/ssl_client1" \
44 0 \
45 -s "Version: TLS1.3" \
46 -c "<TD>Protocol version:</TD><TD>TLS1.3</TD>" \
47 -S "Error" \
48 -C "error"
Gilles Peskineae710c82024-09-04 16:07:56 +020049
50requires_protocol_version dtls12
51run_test "Sample: dtls_client, openssl server, DTLS 1.2" \
52 -P 4433 \
53 "$O_SRV -dtls1_2" \
54 "$PROGRAMS_DIR/dtls_client" \
55 0 \
56 -s "Echo this" \
57 -s "DONE" \
58 -c "Echo this" \
59 -c "[1-9][0-9]* bytes written" \
60 -c "[1-9][0-9]* bytes read" \
61 -S "ERROR" \
62 -C "error"
63
64requires_protocol_version dtls12
65run_test "Sample: dtls_client, gnutls server, DTLS 1.2" \
66 -P 4433 \
67 "$G_SRV -u --echo --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2" \
68 "$PROGRAMS_DIR/dtls_client" \
69 0 \
70 -s "Server listening" \
71 -s "[1-9][0-9]* bytes command:" \
72 -c "Echo this" \
73 -c "[1-9][0-9]* bytes written" \
74 -c "[1-9][0-9]* bytes read" \
75 -S "Error" \
76 -C "error"
Gilles Peskinea21e8932024-09-04 16:30:32 +020077
78requires_protocol_version tls12
79run_test "Sample: ssl_server, openssl client, TLS 1.2" \
80 -P 4433 \
81 "$PROGRAMS_DIR/ssl_server" \
82 "$O_CLI -tls1_2" \
83 0 \
84 -s "Successful connection using: TLS-" \
85 -c "New, TLSv1.2, Cipher is" \
86 -S "error" \
87 -C "ERROR"
88
89requires_protocol_version tls12
90run_test "Sample: ssl_server, gnutls client, TLS 1.2" \
91 -P 4433 \
92 "$PROGRAMS_DIR/ssl_server" \
93 "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2 localhost" \
94 0 \
95 -s "Successful connection using: TLS-" \
96 -c "Description:.*TLS1.2" \
97 -S "error" \
98 -C "ERROR"
99
100requires_protocol_version tls13
101run_test "Sample: ssl_server, openssl client, TLS 1.3" \
102 -P 4433 \
103 "$PROGRAMS_DIR/ssl_server" \
104 "$O_CLI -tls1_3" \
105 0 \
106 -s "Successful connection using: TLS1-3-" \
107 -c "New, TLSv1.3, Cipher is" \
108 -S "error" \
109 -C "ERROR"
110
111requires_protocol_version tls13
112run_test "Sample: ssl_server, gnutls client, TLS 1.3" \
113 -P 4433 \
114 "$PROGRAMS_DIR/ssl_server" \
115 "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3 localhost" \
116 0 \
117 -s "Successful connection using: TLS1-3-" \
118 -c "Description:.*TLS1.3" \
119 -S "error" \
120 -C "ERROR"
Gilles Peskine3abca952024-09-04 16:31:06 +0200121
122requires_protocol_version tls12
Gilles Peskinec83e56c2024-09-04 17:47:14 +0200123run_test "Sample: ssl_fork_server, openssl client, TLS 1.2" \
124 -P 4433 \
125 "$PROGRAMS_DIR/ssl_fork_server" \
126 "$O_CLI -tls1_2" \
127 0 \
128 -s "Successful connection using: TLS-" \
129 -c "New, TLSv1.2, Cipher is" \
130 -S "error" \
131 -C "ERROR"
132
133requires_protocol_version tls12
134run_test "Sample: ssl_fork_server, gnutls client, TLS 1.2" \
135 -P 4433 \
136 "$PROGRAMS_DIR/ssl_fork_server" \
137 "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2 localhost" \
138 0 \
139 -s "Successful connection using: TLS-" \
140 -c "Description:.*TLS1.2" \
141 -S "error" \
142 -C "ERROR"
143
144requires_protocol_version tls13
145run_test "Sample: ssl_fork_server, openssl client, TLS 1.3" \
146 -P 4433 \
147 "$PROGRAMS_DIR/ssl_fork_server" \
148 "$O_CLI -tls1_3" \
149 0 \
150 -s "Successful connection using: TLS1-3-" \
151 -c "New, TLSv1.3, Cipher is" \
152 -S "error" \
153 -C "ERROR"
154
155requires_protocol_version tls13
156run_test "Sample: ssl_fork_server, gnutls client, TLS 1.3" \
157 -P 4433 \
158 "$PROGRAMS_DIR/ssl_fork_server" \
159 "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3 localhost" \
160 0 \
161 -s "Successful connection using: TLS1-3-" \
162 -c "Description:.*TLS1.3" \
163 -S "error" \
164 -C "ERROR"
165
166requires_protocol_version tls12
Gilles Peskine3abca952024-09-04 16:31:06 +0200167run_test "Sample: ssl_pthread_server, openssl client, TLS 1.2" \
168 -P 4433 \
169 "$PROGRAMS_DIR/ssl_pthread_server" \
170 "$O_CLI -tls1_2" \
171 0 \
172 -s "Successful connection using: TLS-" \
173 -c "New, TLSv1.2, Cipher is" \
174 -S "error" \
175 -C "ERROR"
176
177requires_protocol_version tls12
178run_test "Sample: ssl_pthread_server, gnutls client, TLS 1.2" \
179 -P 4433 \
180 "$PROGRAMS_DIR/ssl_pthread_server" \
181 "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2 localhost" \
182 0 \
183 -s "Successful connection using: TLS-" \
184 -c "Description:.*TLS1.2" \
185 -S "error" \
186 -C "ERROR"
187
188requires_protocol_version tls13
189run_test "Sample: ssl_pthread_server, openssl client, TLS 1.3" \
190 -P 4433 \
191 "$PROGRAMS_DIR/ssl_pthread_server" \
192 "$O_CLI -tls1_3" \
193 0 \
194 -s "Successful connection using: TLS1-3-" \
195 -c "New, TLSv1.3, Cipher is" \
196 -S "error" \
197 -C "ERROR"
198
199requires_protocol_version tls13
200run_test "Sample: ssl_pthread_server, gnutls client, TLS 1.3" \
201 -P 4433 \
202 "$PROGRAMS_DIR/ssl_pthread_server" \
203 "$G_CLI --priority=NORMAL:-VERS-TLS-ALL:+VERS-TLS1.3 localhost" \
204 0 \
205 -s "Successful connection using: TLS1-3-" \
206 -c "Description:.*TLS1.3" \
207 -S "error" \
208 -C "ERROR"