1# -*- mode: perl; -*-
2# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved.
3#
4# Licensed under the OpenSSL license (the "License").  You may not use
5# this file except in compliance with the License.  You can obtain a copy
6# in the file LICENSE in the source distribution or at
7# https://www.openssl.org/source/license.html
8
9
10## SSL test configurations
11
12package ssltests;
13
14use OpenSSL::Test::Utils;
15
16our @tests = ();
17
18our @tests = (
19    {
20        name => "no-compressed-certificates",
21        server => {
22            "Options" => "-TxCertificateCompression,-RxCertificateCompression",
23        },
24        client => {
25            "Options" => "-TxCertificateCompression,-RxCertificateCompression",
26                "MinProtocol" => "TLSv1.3",
27        },
28        test   => {
29            "ExpectedResult" => "Success",
30            "CompressCertificates" => "Yes",
31        },
32    },
33    {
34        name => "server-compressed-certificates",
35        server => {
36            "Options" => "TxCertificateCompression,RxCertificateCompression",
37        },
38        client => {
39            "Options" => "-TxCertificateCompression,-RxCertificateCompression",
40            "MinProtocol" => "TLSv1.3",
41        },
42        test   => {
43            "ExpectedResult" => "Success",
44            "CompressCertificates" => "Yes",
45        },
46    },
47    {
48        name => "client-compressed-certificates",
49        server => {
50            "Options" => "-TxCertificateCompression,-RxCertificateCompression",
51        },
52        client => {
53            "Options" => "TxCertificateCompression,RxCertificateCompression",
54            "MinProtocol" => "TLSv1.3",
55        },
56        test   => {
57            "ExpectedResult" => "Success",
58            "CompressCertificates" => "Yes",
59        },
60    },
61    {
62        name => "both-compressed-certificates",
63        server => {
64            "Options" => "TxCertificateCompression,RxCertificateCompression",
65        },
66        client => {
67            "Options" => "TxCertificateCompression,RxCertificateCompression",
68            "MinProtocol" => "TLSv1.3",
69        },
70        test   => {
71            "ExpectedResult" => "Success",
72            "CompressCertificates" => "Yes",
73        },
74    },
75    {
76        name => "no-compressed-certificates-mtls",
77        server => {
78            "Options" => "-TxCertificateCompression,-RxCertificateCompression",
79            "VerifyCAFile" => test_pem("root-cert.pem"),
80            "VerifyMode" => "Request",
81        },
82        client => {
83            "Options" => "-TxCertificateCompression,-RxCertificateCompression",
84            "MinProtocol" => "TLSv1.3",
85            "Certificate" => test_pem("ee-client-chain.pem"),
86            "PrivateKey"  => test_pem("ee-key.pem"),
87        },
88        test   => {
89            "ExpectedResult" => "Success",
90            "CompressCertificates" => "Yes",
91        },
92    },
93    {
94        name => "server-compressed-certificates-mtls",
95        server => {
96            "Options" => "TxCertificateCompression,RxCertificateCompression",
97            "VerifyCAFile" => test_pem("root-cert.pem"),
98            "VerifyMode" => "Request",
99        },
100        client => {
101            "Options" => "-TxCertificateCompression,-RxCertificateCompression",
102            "MinProtocol" => "TLSv1.3",
103            "Certificate" => test_pem("ee-client-chain.pem"),
104            "PrivateKey"  => test_pem("ee-key.pem"),
105        },
106        test   => {
107            "ExpectedResult" => "Success",
108            "CompressCertificates" => "Yes",
109        },
110    },
111    {
112        name => "client-compressed-certificates-mtls",
113        server => {
114            "Options" => "-TxCertificateCompression,-RxCertificateCompression",
115            "VerifyCAFile" => test_pem("root-cert.pem"),
116            "VerifyMode" => "Request",
117        },
118        client => {
119            "Options" => "TxCertificateCompression,RxCertificateCompression",
120            "MinProtocol" => "TLSv1.3",
121            "Certificate" => test_pem("ee-client-chain.pem"),
122            "PrivateKey"  => test_pem("ee-key.pem"),
123        },
124        test   => {
125            "ExpectedResult" => "Success",
126            "CompressCertificates" => "Yes",
127        },
128    },
129    {
130        name => "both-compressed-certificates-mtls",
131        server => {
132            "Options" => "TxCertificateCompression,RxCertificateCompression",
133            "VerifyCAFile" => test_pem("root-cert.pem"),
134            "VerifyMode" => "Request",
135        },
136        client => {
137            "Options" => "TxCertificateCompression,RxCertificateCompression",
138            "MinProtocol" => "TLSv1.3",
139            "Certificate" => test_pem("ee-client-chain.pem"),
140            "PrivateKey"  => test_pem("ee-key.pem"),
141        },
142        test   => {
143            "ExpectedResult" => "Success",
144            "CompressCertificates" => "Yes",
145        },
146    },
147);
148