blob: 59ebef1d46bfe9cc649ad94505d395f94cd79a96 [file] [log] [blame]
Joe Subbiania16ccac2021-07-22 18:52:17 +01001#!/usr/bin/env python3
2
Joe Subbiani6452f1e2021-07-27 15:28:07 +01003# test_translate_ciphers_names.py
Joe Subbiania16ccac2021-07-22 18:52:17 +01004#
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#
Joe Subbiania16ccac2021-07-22 18:52:17 +010020
Joe Subbianif849a932021-07-28 16:50:30 +010021"""
Joe Subbiani918ee792021-07-30 16:57:04 +010022Test translate_ciphers.py by running every Mbed TLS ciphersuite name
Joe Subbianif849a932021-07-28 16:50:30 +010023combination through the translate functions and comparing them to their
24correct GNUTLS or OpenSSL counterpart.
25"""
Joe Subbianif849a932021-07-28 16:50:30 +010026from translate_ciphers import translate_gnutls, translate_ossl
Joe Subbiani3ad58322021-07-21 16:48:54 +010027
28def assert_equal(translate, original):
Joe Subbianif849a932021-07-28 16:50:30 +010029 """
30 Compare the translated ciphersuite name against the original
31 On fail, print the mismatch on the screen to directly compare the
32 differences
33 """
Joe Subbiani3ad58322021-07-21 16:48:54 +010034 try:
Joe Subbianif849a932021-07-28 16:50:30 +010035 assert translate == original
Joe Subbiani3ad58322021-07-21 16:48:54 +010036 except AssertionError:
37 print("%s\n%s\n" %(translate, original))
Joe Subbiania3d991c2021-07-30 17:47:52 +010038 raise AssertionError
Joe Subbiani3ad58322021-07-21 16:48:54 +010039
40def test_all_common():
Joe Subbianif849a932021-07-28 16:50:30 +010041 """
Joe Subbiani918ee792021-07-30 16:57:04 +010042 Translate the Mbed TLS ciphersuite names to the common OpenSSL and
43 GnuTLS ciphersuite names, and compare them with the true, expected
Joe Subbianif849a932021-07-28 16:50:30 +010044 corresponding OpenSSL and GnuTLS ciphersuite names
45 """
Joe Subbiani918ee792021-07-30 16:57:04 +010046 ciphers = [
47 ("TLS-ECDHE-ECDSA-WITH-NULL-SHA",
48 "+ECDHE-ECDSA:+NULL:+SHA1",
49 "ECDHE-ECDSA-NULL-SHA"),
50 ("TLS-ECDHE-ECDSA-WITH-3DES-EDE-CBC-SHA",
51 "+ECDHE-ECDSA:+3DES-CBC:+SHA1",
52 "ECDHE-ECDSA-DES-CBC3-SHA"),
53 ("TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA",
54 "+ECDHE-ECDSA:+AES-128-CBC:+SHA1",
55 "ECDHE-ECDSA-AES128-SHA"),
56 ("TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA",
57 "+ECDHE-ECDSA:+AES-256-CBC:+SHA1",
58 "ECDHE-ECDSA-AES256-SHA"),
59 ("TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256",
60 "+ECDHE-ECDSA:+AES-128-CBC:+SHA256",
61 "ECDHE-ECDSA-AES128-SHA256"),
62 ("TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384",
63 "+ECDHE-ECDSA:+AES-256-CBC:+SHA384",
64 "ECDHE-ECDSA-AES256-SHA384"),
65 ("TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256",
66 "+ECDHE-ECDSA:+AES-128-GCM:+AEAD",
67 "ECDHE-ECDSA-AES128-GCM-SHA256"),
68 ("TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384",
69 "+ECDHE-ECDSA:+AES-256-GCM:+AEAD",
70 "ECDHE-ECDSA-AES256-GCM-SHA384"),
71 ("TLS-DHE-RSA-WITH-AES-128-CBC-SHA",
72 "+DHE-RSA:+AES-128-CBC:+SHA1",
73 "DHE-RSA-AES128-SHA"),
74 ("TLS-DHE-RSA-WITH-AES-256-CBC-SHA",
75 "+DHE-RSA:+AES-256-CBC:+SHA1",
76 "DHE-RSA-AES256-SHA"),
77 ("TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA",
78 "+DHE-RSA:+CAMELLIA-128-CBC:+SHA1",
79 "DHE-RSA-CAMELLIA128-SHA"),
80 ("TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA",
81 "+DHE-RSA:+CAMELLIA-256-CBC:+SHA1",
82 "DHE-RSA-CAMELLIA256-SHA"),
83 ("TLS-DHE-RSA-WITH-3DES-EDE-CBC-SHA",
84 "+DHE-RSA:+3DES-CBC:+SHA1",
85 "EDH-RSA-DES-CBC3-SHA"),
86 ("TLS-RSA-WITH-AES-256-CBC-SHA",
87 "+RSA:+AES-256-CBC:+SHA1",
88 "AES256-SHA"),
89 ("TLS-RSA-WITH-CAMELLIA-256-CBC-SHA",
90 "+RSA:+CAMELLIA-256-CBC:+SHA1",
91 "CAMELLIA256-SHA"),
92 ("TLS-RSA-WITH-AES-128-CBC-SHA",
93 "+RSA:+AES-128-CBC:+SHA1",
94 "AES128-SHA"),
95 ("TLS-RSA-WITH-CAMELLIA-128-CBC-SHA",
96 "+RSA:+CAMELLIA-128-CBC:+SHA1",
97 "CAMELLIA128-SHA"),
98 ("TLS-RSA-WITH-3DES-EDE-CBC-SHA",
99 "+RSA:+3DES-CBC:+SHA1",
100 "DES-CBC3-SHA"),
101 ("TLS-RSA-WITH-NULL-MD5",
102 "+RSA:+NULL:+MD5",
103 "NULL-MD5"),
104 ("TLS-RSA-WITH-NULL-SHA",
105 "+RSA:+NULL:+SHA1",
106 "NULL-SHA"),
107 ("TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA",
108 "+ECDHE-RSA:+AES-128-CBC:+SHA1",
109 "ECDHE-RSA-AES128-SHA"),
110 ("TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA",
111 "+ECDHE-RSA:+AES-256-CBC:+SHA1",
112 "ECDHE-RSA-AES256-SHA"),
113 ("TLS-ECDHE-RSA-WITH-3DES-EDE-CBC-SHA",
114 "+ECDHE-RSA:+3DES-CBC:+SHA1",
115 "ECDHE-RSA-DES-CBC3-SHA"),
116 ("TLS-ECDHE-RSA-WITH-NULL-SHA",
117 "+ECDHE-RSA:+NULL:+SHA1",
118 "ECDHE-RSA-NULL-SHA"),
119 ("TLS-RSA-WITH-AES-128-CBC-SHA256",
120 "+RSA:+AES-128-CBC:+SHA256",
121 "AES128-SHA256"),
122 ("TLS-DHE-RSA-WITH-AES-128-CBC-SHA256",
123 "+DHE-RSA:+AES-128-CBC:+SHA256",
124 "DHE-RSA-AES128-SHA256"),
125 ("TLS-RSA-WITH-AES-256-CBC-SHA256",
126 "+RSA:+AES-256-CBC:+SHA256",
127 "AES256-SHA256"),
128 ("TLS-DHE-RSA-WITH-AES-256-CBC-SHA256",
129 "+DHE-RSA:+AES-256-CBC:+SHA256",
130 "DHE-RSA-AES256-SHA256"),
131 ("TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256",
132 "+ECDHE-RSA:+AES-128-CBC:+SHA256",
133 "ECDHE-RSA-AES128-SHA256"),
134 ("TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384",
135 "+ECDHE-RSA:+AES-256-CBC:+SHA384",
136 "ECDHE-RSA-AES256-SHA384"),
137 ("TLS-RSA-WITH-AES-128-GCM-SHA256",
138 "+RSA:+AES-128-GCM:+AEAD",
139 "AES128-GCM-SHA256"),
140 ("TLS-RSA-WITH-AES-256-GCM-SHA384",
141 "+RSA:+AES-256-GCM:+AEAD",
142 "AES256-GCM-SHA384"),
143 ("TLS-DHE-RSA-WITH-AES-128-GCM-SHA256",
144 "+DHE-RSA:+AES-128-GCM:+AEAD",
145 "DHE-RSA-AES128-GCM-SHA256"),
146 ("TLS-DHE-RSA-WITH-AES-256-GCM-SHA384",
147 "+DHE-RSA:+AES-256-GCM:+AEAD",
148 "DHE-RSA-AES256-GCM-SHA384"),
149 ("TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256",
150 "+ECDHE-RSA:+AES-128-GCM:+AEAD",
151 "ECDHE-RSA-AES128-GCM-SHA256"),
152 ("TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384",
153 "+ECDHE-RSA:+AES-256-GCM:+AEAD",
154 "ECDHE-RSA-AES256-GCM-SHA384"),
155 ("TLS-PSK-WITH-3DES-EDE-CBC-SHA",
156 "+PSK:+3DES-CBC:+SHA1",
157 "PSK-3DES-EDE-CBC-SHA"),
158 ("TLS-PSK-WITH-AES-128-CBC-SHA",
159 "+PSK:+AES-128-CBC:+SHA1",
160 "PSK-AES128-CBC-SHA"),
161 ("TLS-PSK-WITH-AES-256-CBC-SHA",
162 "+PSK:+AES-256-CBC:+SHA1",
163 "PSK-AES256-CBC-SHA"),
Joe Subbiani3ad58322021-07-21 16:48:54 +0100164
Joe Subbiani918ee792021-07-30 16:57:04 +0100165 ("TLS-ECDH-ECDSA-WITH-NULL-SHA",
166 None,
167 "ECDH-ECDSA-NULL-SHA"),
168 ("TLS-ECDH-ECDSA-WITH-3DES-EDE-CBC-SHA",
169 None,
170 "ECDH-ECDSA-DES-CBC3-SHA"),
171 ("TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA",
172 None,
173 "ECDH-ECDSA-AES128-SHA"),
174 ("TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA",
175 None,
176 "ECDH-ECDSA-AES256-SHA"),
177 ("TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA256",
178 None,
179 "ECDH-ECDSA-AES128-SHA256"),
180 ("TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA384",
181 None,
182 "ECDH-ECDSA-AES256-SHA384"),
183 ("TLS-ECDH-ECDSA-WITH-AES-128-GCM-SHA256",
184 None,
185 "ECDH-ECDSA-AES128-GCM-SHA256"),
186 ("TLS-ECDH-ECDSA-WITH-AES-256-GCM-SHA384",
187 None,
188 "ECDH-ECDSA-AES256-GCM-SHA384"),
189 ("TLS-ECDHE-ECDSA-WITH-ARIA-256-GCM-SHA384",
190 None,
191 "ECDHE-ECDSA-ARIA256-GCM-SHA384"),
192 ("TLS-ECDHE-ECDSA-WITH-ARIA-128-GCM-SHA256",
193 None,
194 "ECDHE-ECDSA-ARIA128-GCM-SHA256"),
195 ("TLS-ECDHE-ECDSA-WITH-CHACHA20-POLY1305-SHA256",
196 None,
197 "ECDHE-ECDSA-CHACHA20-POLY1305"),
198 ("TLS-RSA-WITH-DES-CBC-SHA",
199 None,
200 "DES-CBC-SHA"),
201 ("TLS-DHE-RSA-WITH-DES-CBC-SHA",
202 None,
203 "EDH-RSA-DES-CBC-SHA"),
204 ("TLS-ECDHE-RSA-WITH-ARIA-256-GCM-SHA384",
205 None,
206 "ECDHE-ARIA256-GCM-SHA384"),
207 ("TLS-DHE-RSA-WITH-ARIA-256-GCM-SHA384",
208 None,
209 "DHE-RSA-ARIA256-GCM-SHA384"),
210 ("TLS-RSA-WITH-ARIA-256-GCM-SHA384",
211 None,
212 "ARIA256-GCM-SHA384"),
213 ("TLS-ECDHE-RSA-WITH-ARIA-128-GCM-SHA256",
214 None,
215 "ECDHE-ARIA128-GCM-SHA256"),
216 ("TLS-DHE-RSA-WITH-ARIA-128-GCM-SHA256",
217 None,
218 "DHE-RSA-ARIA128-GCM-SHA256"),
219 ("TLS-RSA-WITH-ARIA-128-GCM-SHA256",
220 None,
221 "ARIA128-GCM-SHA256"),
222 ("TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256",
223 None,
224 "DHE-RSA-CHACHA20-POLY1305"),
225 ("TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256",
226 None,
227 "ECDHE-RSA-CHACHA20-POLY1305"),
228 ("TLS-DHE-PSK-WITH-ARIA-256-GCM-SHA384",
229 None,
230 "DHE-PSK-ARIA256-GCM-SHA384"),
231 ("TLS-DHE-PSK-WITH-ARIA-128-GCM-SHA256",
232 None,
233 "DHE-PSK-ARIA128-GCM-SHA256"),
234 ("TLS-PSK-WITH-ARIA-256-GCM-SHA384",
235 None,
236 "PSK-ARIA256-GCM-SHA384"),
237 ("TLS-PSK-WITH-ARIA-128-GCM-SHA256",
238 None,
239 "PSK-ARIA128-GCM-SHA256"),
240 ("TLS-PSK-WITH-CHACHA20-POLY1305-SHA256",
241 None,
242 "PSK-CHACHA20-POLY1305"),
243 ("TLS-ECDHE-PSK-WITH-CHACHA20-POLY1305-SHA256",
244 None,
245 "ECDHE-PSK-CHACHA20-POLY1305"),
246 ("TLS-DHE-PSK-WITH-CHACHA20-POLY1305-SHA256",
247 None,
248 "DHE-PSK-CHACHA20-POLY1305"),
Joe Subbiani3ad58322021-07-21 16:48:54 +0100249
Joe Subbiani918ee792021-07-30 16:57:04 +0100250 ("TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-CBC-SHA256",
251 "+ECDHE-ECDSA:+CAMELLIA-128-CBC:+SHA256",
252 None),
253 ("TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-CBC-SHA384",
254 "+ECDHE-ECDSA:+CAMELLIA-256-CBC:+SHA384",
255 None),
256 ("TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-GCM-SHA256",
257 "+ECDHE-ECDSA:+CAMELLIA-128-GCM:+AEAD",
258 None),
259 ("TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-GCM-SHA384",
260 "+ECDHE-ECDSA:+CAMELLIA-256-GCM:+AEAD",
261 None),
262 ("TLS-ECDHE-ECDSA-WITH-AES-128-CCM",
263 "+ECDHE-ECDSA:+AES-128-CCM:+AEAD",
264 None),
265 ("TLS-ECDHE-ECDSA-WITH-AES-256-CCM",
266 "+ECDHE-ECDSA:+AES-256-CCM:+AEAD",
267 None),
268 ("TLS-ECDHE-ECDSA-WITH-AES-128-CCM-8",
269 "+ECDHE-ECDSA:+AES-128-CCM-8:+AEAD",
270 None),
271 ("TLS-ECDHE-ECDSA-WITH-AES-256-CCM-8",
272 "+ECDHE-ECDSA:+AES-256-CCM-8:+AEAD",
273 None),
274 ("TLS-RSA-WITH-NULL-SHA256",
275 "+RSA:+NULL:+SHA256",
276 None),
277 ("TLS-ECDHE-RSA-WITH-CAMELLIA-128-CBC-SHA256",
278 "+ECDHE-RSA:+CAMELLIA-128-CBC:+SHA256",
279 None),
280 ("TLS-ECDHE-RSA-WITH-CAMELLIA-256-CBC-SHA384",
281 "+ECDHE-RSA:+CAMELLIA-256-CBC:+SHA384",
282 None),
283 ("TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256",
284 "+RSA:+CAMELLIA-128-CBC:+SHA256",
285 None),
286 ("TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256",
287 "+RSA:+CAMELLIA-256-CBC:+SHA256",
288 None),
289 ("TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256",
290 "+DHE-RSA:+CAMELLIA-128-CBC:+SHA256",
291 None),
292 ("TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256",
293 "+DHE-RSA:+CAMELLIA-256-CBC:+SHA256",
294 None),
295 ("TLS-ECDHE-RSA-WITH-CAMELLIA-128-GCM-SHA256",
296 "+ECDHE-RSA:+CAMELLIA-128-GCM:+AEAD",
297 None),
298 ("TLS-ECDHE-RSA-WITH-CAMELLIA-256-GCM-SHA384",
299 "+ECDHE-RSA:+CAMELLIA-256-GCM:+AEAD",
300 None),
301 ("TLS-DHE-RSA-WITH-CAMELLIA-128-GCM-SHA256",
302 "+DHE-RSA:+CAMELLIA-128-GCM:+AEAD",
303 None),
304 ("TLS-DHE-RSA-WITH-CAMELLIA-256-GCM-SHA384",
305 "+DHE-RSA:+CAMELLIA-256-GCM:+AEAD",
306 None),
307 ("TLS-RSA-WITH-CAMELLIA-128-GCM-SHA256",
308 "+RSA:+CAMELLIA-128-GCM:+AEAD",
309 None),
310 ("TLS-RSA-WITH-CAMELLIA-256-GCM-SHA384",
311 "+RSA:+CAMELLIA-256-GCM:+AEAD",
312 None),
313 ("TLS-RSA-WITH-AES-128-CCM",
314 "+RSA:+AES-128-CCM:+AEAD",
315 None),
316 ("TLS-RSA-WITH-AES-256-CCM",
317 "+RSA:+AES-256-CCM:+AEAD",
318 None),
319 ("TLS-DHE-RSA-WITH-AES-128-CCM",
320 "+DHE-RSA:+AES-128-CCM:+AEAD",
321 None),
322 ("TLS-DHE-RSA-WITH-AES-256-CCM",
323 "+DHE-RSA:+AES-256-CCM:+AEAD",
324 None),
325 ("TLS-RSA-WITH-AES-128-CCM-8",
326 "+RSA:+AES-128-CCM-8:+AEAD",
327 None),
328 ("TLS-RSA-WITH-AES-256-CCM-8",
329 "+RSA:+AES-256-CCM-8:+AEAD",
330 None),
331 ("TLS-DHE-RSA-WITH-AES-128-CCM-8",
332 "+DHE-RSA:+AES-128-CCM-8:+AEAD",
333 None),
334 ("TLS-DHE-RSA-WITH-AES-256-CCM-8",
335 "+DHE-RSA:+AES-256-CCM-8:+AEAD",
336 None),
337 ("TLS-DHE-PSK-WITH-3DES-EDE-CBC-SHA",
338 "+DHE-PSK:+3DES-CBC:+SHA1",
339 None),
340 ("TLS-DHE-PSK-WITH-AES-128-CBC-SHA",
341 "+DHE-PSK:+AES-128-CBC:+SHA1",
342 None),
343 ("TLS-DHE-PSK-WITH-AES-256-CBC-SHA",
344 "+DHE-PSK:+AES-256-CBC:+SHA1",
345 None),
346 ("TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA",
347 "+ECDHE-PSK:+AES-256-CBC:+SHA1",
348 None),
349 ("TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA",
350 "+ECDHE-PSK:+AES-128-CBC:+SHA1",
351 None),
352 ("TLS-ECDHE-PSK-WITH-3DES-EDE-CBC-SHA",
353 "+ECDHE-PSK:+3DES-CBC:+SHA1",
354 None),
355 ("TLS-RSA-PSK-WITH-3DES-EDE-CBC-SHA",
356 "+RSA-PSK:+3DES-CBC:+SHA1",
357 None),
358 ("TLS-RSA-PSK-WITH-AES-256-CBC-SHA",
359 "+RSA-PSK:+AES-256-CBC:+SHA1",
360 None),
361 ("TLS-RSA-PSK-WITH-AES-128-CBC-SHA",
362 "+RSA-PSK:+AES-128-CBC:+SHA1",
363 None),
364 ("TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA384",
365 "+ECDHE-PSK:+AES-256-CBC:+SHA384",
366 None),
367 ("TLS-ECDHE-PSK-WITH-CAMELLIA-256-CBC-SHA384",
368 "+ECDHE-PSK:+CAMELLIA-256-CBC:+SHA384",
369 None),
370 ("TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA256",
371 "+ECDHE-PSK:+AES-128-CBC:+SHA256",
372 None),
373 ("TLS-ECDHE-PSK-WITH-CAMELLIA-128-CBC-SHA256",
374 "+ECDHE-PSK:+CAMELLIA-128-CBC:+SHA256",
375 None),
376 ("TLS-ECDHE-PSK-WITH-NULL-SHA384",
377 "+ECDHE-PSK:+NULL:+SHA384",
378 None),
379 ("TLS-ECDHE-PSK-WITH-NULL-SHA256",
380 "+ECDHE-PSK:+NULL:+SHA256",
381 None),
382 ("TLS-PSK-WITH-AES-128-CBC-SHA256",
383 "+PSK:+AES-128-CBC:+SHA256",
384 None),
385 ("TLS-PSK-WITH-AES-256-CBC-SHA384",
386 "+PSK:+AES-256-CBC:+SHA384",
387 None),
388 ("TLS-DHE-PSK-WITH-AES-128-CBC-SHA256",
389 "+DHE-PSK:+AES-128-CBC:+SHA256",
390 None),
391 ("TLS-DHE-PSK-WITH-AES-256-CBC-SHA384",
392 "+DHE-PSK:+AES-256-CBC:+SHA384",
393 None),
394 ("TLS-PSK-WITH-NULL-SHA256",
395 "+PSK:+NULL:+SHA256",
396 None),
397 ("TLS-PSK-WITH-NULL-SHA384",
398 "+PSK:+NULL:+SHA384",
399 None),
400 ("TLS-DHE-PSK-WITH-NULL-SHA256",
401 "+DHE-PSK:+NULL:+SHA256",
402 None),
403 ("TLS-DHE-PSK-WITH-NULL-SHA384",
404 "+DHE-PSK:+NULL:+SHA384",
405 None),
406 ("TLS-RSA-PSK-WITH-AES-256-CBC-SHA384",
407 "+RSA-PSK:+AES-256-CBC:+SHA384",
408 None),
409 ("TLS-RSA-PSK-WITH-AES-128-CBC-SHA256",
410 "+RSA-PSK:+AES-128-CBC:+SHA256",
411 None),
412 ("TLS-RSA-PSK-WITH-NULL-SHA256",
413 "+RSA-PSK:+NULL:+SHA256",
414 None),
415 ("TLS-RSA-PSK-WITH-NULL-SHA384",
416 "+RSA-PSK:+NULL:+SHA384",
417 None),
418 ("TLS-DHE-PSK-WITH-CAMELLIA-128-CBC-SHA256",
419 "+DHE-PSK:+CAMELLIA-128-CBC:+SHA256",
420 None),
421 ("TLS-DHE-PSK-WITH-CAMELLIA-256-CBC-SHA384",
422 "+DHE-PSK:+CAMELLIA-256-CBC:+SHA384",
423 None),
424 ("TLS-PSK-WITH-CAMELLIA-128-CBC-SHA256",
425 "+PSK:+CAMELLIA-128-CBC:+SHA256",
426 None),
427 ("TLS-PSK-WITH-CAMELLIA-256-CBC-SHA384",
428 "+PSK:+CAMELLIA-256-CBC:+SHA384",
429 None),
430 ("TLS-RSA-PSK-WITH-CAMELLIA-256-CBC-SHA384",
431 "+RSA-PSK:+CAMELLIA-256-CBC:+SHA384",
432 None),
433 ("TLS-RSA-PSK-WITH-CAMELLIA-128-CBC-SHA256",
434 "+RSA-PSK:+CAMELLIA-128-CBC:+SHA256",
435 None),
436 ("TLS-PSK-WITH-AES-128-GCM-SHA256",
437 "+PSK:+AES-128-GCM:+AEAD",
438 None),
439 ("TLS-PSK-WITH-AES-256-GCM-SHA384",
440 "+PSK:+AES-256-GCM:+AEAD",
441 None),
442 ("TLS-DHE-PSK-WITH-AES-128-GCM-SHA256",
443 "+DHE-PSK:+AES-128-GCM:+AEAD",
444 None),
445 ("TLS-DHE-PSK-WITH-AES-256-GCM-SHA384",
446 "+DHE-PSK:+AES-256-GCM:+AEAD",
447 None),
448 ("TLS-PSK-WITH-AES-128-CCM",
449 "+PSK:+AES-128-CCM:+AEAD",
450 None),
451 ("TLS-PSK-WITH-AES-256-CCM",
452 "+PSK:+AES-256-CCM:+AEAD",
453 None),
454 ("TLS-DHE-PSK-WITH-AES-128-CCM",
455 "+DHE-PSK:+AES-128-CCM:+AEAD",
456 None),
457 ("TLS-DHE-PSK-WITH-AES-256-CCM",
458 "+DHE-PSK:+AES-256-CCM:+AEAD",
459 None),
460 ("TLS-PSK-WITH-AES-128-CCM-8",
461 "+PSK:+AES-128-CCM-8:+AEAD",
462 None),
463 ("TLS-PSK-WITH-AES-256-CCM-8",
464 "+PSK:+AES-256-CCM-8:+AEAD",
465 None),
466 ("TLS-DHE-PSK-WITH-AES-128-CCM-8",
467 "+DHE-PSK:+AES-128-CCM-8:+AEAD",
468 None),
469 ("TLS-DHE-PSK-WITH-AES-256-CCM-8",
470 "+DHE-PSK:+AES-256-CCM-8:+AEAD",
471 None),
472 ("TLS-RSA-PSK-WITH-CAMELLIA-128-GCM-SHA256",
473 "+RSA-PSK:+CAMELLIA-128-GCM:+AEAD",
474 None),
475 ("TLS-RSA-PSK-WITH-CAMELLIA-256-GCM-SHA384",
476 "+RSA-PSK:+CAMELLIA-256-GCM:+AEAD",
477 None),
478 ("TLS-PSK-WITH-CAMELLIA-128-GCM-SHA256",
479 "+PSK:+CAMELLIA-128-GCM:+AEAD",
480 None),
481 ("TLS-PSK-WITH-CAMELLIA-256-GCM-SHA384",
482 "+PSK:+CAMELLIA-256-GCM:+AEAD",
483 None),
484 ("TLS-DHE-PSK-WITH-CAMELLIA-128-GCM-SHA256",
485 "+DHE-PSK:+CAMELLIA-128-GCM:+AEAD",
486 None),
487 ("TLS-DHE-PSK-WITH-CAMELLIA-256-GCM-SHA384",
488 "+DHE-PSK:+CAMELLIA-256-GCM:+AEAD",
489 None),
490 ("TLS-RSA-PSK-WITH-AES-256-GCM-SHA384",
491 "+RSA-PSK:+AES-256-GCM:+AEAD",
492 None),
493 ("TLS-RSA-PSK-WITH-AES-128-GCM-SHA256",
494 "+RSA-PSK:+AES-128-GCM:+AEAD",
495 None),
Joe Subbiani3ad58322021-07-21 16:48:54 +0100496 ]
497
Joe Subbiani918ee792021-07-30 16:57:04 +0100498 for m, g_exp, o_exp in ciphers:
Joe Subbiani3ad58322021-07-21 16:48:54 +0100499
Joe Subbiania3d991c2021-07-30 17:47:52 +0100500 if g_exp is not None:
Joe Subbiani918ee792021-07-30 16:57:04 +0100501 g = translate_gnutls(m)
502 assert_equal(g, g_exp)
Joe Subbiani3ad58322021-07-21 16:48:54 +0100503
Joe Subbiania3d991c2021-07-30 17:47:52 +0100504 if o_exp is not None:
Joe Subbiani918ee792021-07-30 16:57:04 +0100505 o = translate_ossl(m)
506 assert_equal(o, o_exp)
Joe Subbiani3ad58322021-07-21 16:48:54 +0100507
508test_all_common()