1# -*- mode: perl; -*-
2
3## SSL test configurations
4
5package ssltests;
6
7use strict;
8use warnings;
9
10use OpenSSL::Test;
11use OpenSSL::Test::Utils qw(anydisabled);
12
13my @curves = ("sect163k1", "sect163r1", "sect163r2", "sect193r1",
14              "sect193r2", "sect233k1", "sect233r1", "sect239k1",
15              "sect283k1", "sect283r1", "sect409k1", "sect409r1",
16              "sect571k1", "sect571r1", "secp160k1", "secp160r1",
17              "secp160r2", "secp192k1", "prime192v1", "secp224k1",
18              "secp224r1", "secp256k1", "prime256v1", "secp384r1",
19              "secp521r1", "brainpoolP256r1", "brainpoolP384r1",
20              "brainpoolP512r1", "X25519", "X448");
21
22our @tests = ();
23
24sub generate_tests() {
25    foreach (0..$#curves) {
26        my $curve = $curves[$_];
27        push @tests, {
28            name => "curve-${curve}",
29            server => {
30                "Curves" => $curve,
31                # TODO(TLS1.3): Can we get this to work for TLSv1.3?
32                "MaxProtocol" => "TLSv1.2"
33            },
34            client => {
35                "CipherString" => "ECDHE",
36                "MaxProtocol" => "TLSv1.2",
37                "Curves" => $curve
38            },
39            test   => {
40                "ExpectedTmpKeyType" => $curve,
41                "ExpectedResult" => "Success"
42            },
43        };
44    }
45}
46
47generate_tests();
48