1e1051a39Sopenharmony_ci# -*- mode: perl; -*-
2e1051a39Sopenharmony_ci# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.
3e1051a39Sopenharmony_ci#
4e1051a39Sopenharmony_ci# Licensed under the Apache License 2.0 (the "License").  You may not use
5e1051a39Sopenharmony_ci# this file except in compliance with the License.  You can obtain a copy
6e1051a39Sopenharmony_ci# in the file LICENSE in the source distribution or at
7e1051a39Sopenharmony_ci# https://www.openssl.org/source/license.html
8e1051a39Sopenharmony_ci
9e1051a39Sopenharmony_ci
10e1051a39Sopenharmony_ci## SSL test configurations
11e1051a39Sopenharmony_ci
12e1051a39Sopenharmony_cipackage ssltests;
13e1051a39Sopenharmony_ci
14e1051a39Sopenharmony_ciuse OpenSSL::Test::Utils;
15e1051a39Sopenharmony_ci
16e1051a39Sopenharmony_ciour $fips_mode;
17e1051a39Sopenharmony_ci
18e1051a39Sopenharmony_ciour @tests = (
19e1051a39Sopenharmony_ci    {
20e1051a39Sopenharmony_ci        name => "disable-encrypt-then-mac-server-sha",
21e1051a39Sopenharmony_ci        server => {
22e1051a39Sopenharmony_ci          "Options" => "-EncryptThenMac",
23e1051a39Sopenharmony_ci        },
24e1051a39Sopenharmony_ci        client => {
25e1051a39Sopenharmony_ci          "CipherString" => "AES128-SHA",
26e1051a39Sopenharmony_ci          "MaxProtocol" => "TLSv1.2"
27e1051a39Sopenharmony_ci        },
28e1051a39Sopenharmony_ci        test   => {
29e1051a39Sopenharmony_ci          "ExpectedResult" => "Success",
30e1051a39Sopenharmony_ci        },
31e1051a39Sopenharmony_ci    },
32e1051a39Sopenharmony_ci    {
33e1051a39Sopenharmony_ci        name => "disable-encrypt-then-mac-client-sha",
34e1051a39Sopenharmony_ci        server => {
35e1051a39Sopenharmony_ci        },
36e1051a39Sopenharmony_ci        client => {
37e1051a39Sopenharmony_ci          "CipherString" => "AES128-SHA",
38e1051a39Sopenharmony_ci          "Options" => "-EncryptThenMac",
39e1051a39Sopenharmony_ci          "MaxProtocol" => "TLSv1.2"
40e1051a39Sopenharmony_ci        },
41e1051a39Sopenharmony_ci        test   => {
42e1051a39Sopenharmony_ci          "ExpectedResult" => "Success",
43e1051a39Sopenharmony_ci        },
44e1051a39Sopenharmony_ci    },
45e1051a39Sopenharmony_ci    {
46e1051a39Sopenharmony_ci        name => "disable-encrypt-then-mac-both-sha",
47e1051a39Sopenharmony_ci        server => {
48e1051a39Sopenharmony_ci          "Options" => "-EncryptThenMac",
49e1051a39Sopenharmony_ci        },
50e1051a39Sopenharmony_ci        client => {
51e1051a39Sopenharmony_ci          "CipherString" => "AES128-SHA",
52e1051a39Sopenharmony_ci          "Options" => "-EncryptThenMac",
53e1051a39Sopenharmony_ci          "MaxProtocol" => "TLSv1.2"
54e1051a39Sopenharmony_ci        },
55e1051a39Sopenharmony_ci        test   => {
56e1051a39Sopenharmony_ci          "ExpectedResult" => "Success",
57e1051a39Sopenharmony_ci        },
58e1051a39Sopenharmony_ci    },
59e1051a39Sopenharmony_ci);
60e1051a39Sopenharmony_ci
61e1051a39Sopenharmony_cimy @tests_tls1_2 = (
62e1051a39Sopenharmony_ci    {
63e1051a39Sopenharmony_ci        name => "disable-encrypt-then-mac-server-sha2",
64e1051a39Sopenharmony_ci        server => {
65e1051a39Sopenharmony_ci          "Options" => "-EncryptThenMac",
66e1051a39Sopenharmony_ci        },
67e1051a39Sopenharmony_ci        client => {
68e1051a39Sopenharmony_ci          "CipherString" => "AES128-SHA256",
69e1051a39Sopenharmony_ci          "MaxProtocol" => "TLSv1.2"
70e1051a39Sopenharmony_ci        },
71e1051a39Sopenharmony_ci        test   => {
72e1051a39Sopenharmony_ci          "ExpectedResult" => "Success",
73e1051a39Sopenharmony_ci        },
74e1051a39Sopenharmony_ci    },
75e1051a39Sopenharmony_ci    {
76e1051a39Sopenharmony_ci        name => "disable-encrypt-then-mac-client-sha2",
77e1051a39Sopenharmony_ci        server => {
78e1051a39Sopenharmony_ci        },
79e1051a39Sopenharmony_ci        client => {
80e1051a39Sopenharmony_ci          "CipherString" => "AES128-SHA256",
81e1051a39Sopenharmony_ci          "Options" => "-EncryptThenMac",
82e1051a39Sopenharmony_ci          "MaxProtocol" => "TLSv1.2"
83e1051a39Sopenharmony_ci        },
84e1051a39Sopenharmony_ci        test   => {
85e1051a39Sopenharmony_ci          "ExpectedResult" => "Success",
86e1051a39Sopenharmony_ci        },
87e1051a39Sopenharmony_ci    },
88e1051a39Sopenharmony_ci    {
89e1051a39Sopenharmony_ci        name => "disable-encrypt-then-mac-both-sha2",
90e1051a39Sopenharmony_ci        server => {
91e1051a39Sopenharmony_ci          "Options" => "-EncryptThenMac",
92e1051a39Sopenharmony_ci        },
93e1051a39Sopenharmony_ci        client => {
94e1051a39Sopenharmony_ci          "CipherString" => "AES128-SHA256",
95e1051a39Sopenharmony_ci          "Options" => "-EncryptThenMac",
96e1051a39Sopenharmony_ci          "MaxProtocol" => "TLSv1.2"
97e1051a39Sopenharmony_ci        },
98e1051a39Sopenharmony_ci        test   => {
99e1051a39Sopenharmony_ci          "ExpectedResult" => "Success",
100e1051a39Sopenharmony_ci        },
101e1051a39Sopenharmony_ci    },
102e1051a39Sopenharmony_ci);
103e1051a39Sopenharmony_ci
104e1051a39Sopenharmony_ciour @tests_tls1 = (
105e1051a39Sopenharmony_ci    {
106e1051a39Sopenharmony_ci        name => "disable-encrypt-then-mac-server-sha-tls1",
107e1051a39Sopenharmony_ci        server => {
108e1051a39Sopenharmony_ci          "CipherString" => 'DEFAULT:@SECLEVEL=0',
109e1051a39Sopenharmony_ci          "Options" => "-EncryptThenMac",
110e1051a39Sopenharmony_ci        },
111e1051a39Sopenharmony_ci        client => {
112e1051a39Sopenharmony_ci          "CipherString" => 'AES128-SHA@SECLEVEL=0',
113e1051a39Sopenharmony_ci          "MinProtocol" => "TLSv1",
114e1051a39Sopenharmony_ci          "MaxProtocol" => "TLSv1"
115e1051a39Sopenharmony_ci        },
116e1051a39Sopenharmony_ci        test   => {
117e1051a39Sopenharmony_ci          "ExpectedResult" => "Success",
118e1051a39Sopenharmony_ci        },
119e1051a39Sopenharmony_ci    },
120e1051a39Sopenharmony_ci    {
121e1051a39Sopenharmony_ci        name => "disable-encrypt-then-mac-client-sha-tls1",
122e1051a39Sopenharmony_ci        server => {
123e1051a39Sopenharmony_ci          "CipherString" => 'DEFAULT:@SECLEVEL=0',
124e1051a39Sopenharmony_ci        },
125e1051a39Sopenharmony_ci        client => {
126e1051a39Sopenharmony_ci          "CipherString" => 'AES128-SHA@SECLEVEL=0',
127e1051a39Sopenharmony_ci          "Options" => "-EncryptThenMac",
128e1051a39Sopenharmony_ci          "MinProtocol" => "TLSv1",
129e1051a39Sopenharmony_ci          "MaxProtocol" => "TLSv1"
130e1051a39Sopenharmony_ci        },
131e1051a39Sopenharmony_ci        test   => {
132e1051a39Sopenharmony_ci          "ExpectedResult" => "Success",
133e1051a39Sopenharmony_ci        },
134e1051a39Sopenharmony_ci    },
135e1051a39Sopenharmony_ci    {
136e1051a39Sopenharmony_ci        name => "disable-encrypt-then-mac-both-sha-tls1",
137e1051a39Sopenharmony_ci        server => {
138e1051a39Sopenharmony_ci          "CipherString" => 'DEFAULT:@SECLEVEL=0',
139e1051a39Sopenharmony_ci          "Options" => "-EncryptThenMac",
140e1051a39Sopenharmony_ci        },
141e1051a39Sopenharmony_ci        client => {
142e1051a39Sopenharmony_ci          "CipherString" => 'AES128-SHA@SECLEVEL=0',
143e1051a39Sopenharmony_ci          "Options" => "-EncryptThenMac",
144e1051a39Sopenharmony_ci          "MinProtocol" => "TLSv1",
145e1051a39Sopenharmony_ci          "MaxProtocol" => "TLSv1"
146e1051a39Sopenharmony_ci        },
147e1051a39Sopenharmony_ci        test   => {
148e1051a39Sopenharmony_ci          "ExpectedResult" => "Success",
149e1051a39Sopenharmony_ci        },
150e1051a39Sopenharmony_ci    },
151e1051a39Sopenharmony_ci);
152e1051a39Sopenharmony_ci
153e1051a39Sopenharmony_ci
154e1051a39Sopenharmony_cipush @tests, @tests_tls1_2 unless disabled("tls1_2");
155e1051a39Sopenharmony_cipush @tests, @tests_tls1 unless disabled("tls1") || $fips_mode;
156