]>
git.ipfire.org Git - thirdparty/openssl.git/blob - test/recipes/30-test_evp.t
11e4b9cae90d1c7dc8b35ad4440794cd81c1900c
2 # Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.
4 # Licensed under the Apache License 2.0 (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
13 use OpenSSL
::Test
qw(:DEFAULT data_file bldtop_dir srctop_file srctop_dir bldtop_file);
14 use OpenSSL
::Test
::Utils
;
20 use lib srctop_dir
('Configurations');
21 use lib bldtop_dir
('.');
24 my $no_fips = disabled
('fips') || ($ENV{NO_FIPS
} // 0);
25 my $no_legacy = disabled
('legacy') || ($ENV{NO_LEGACY
} // 0);
27 # Default config depends on if the legacy module is built or not
28 my $defaultcnf = $no_legacy ?
'default.cnf' : 'default-and-legacy.cnf';
30 my @configs = ( $defaultcnf );
31 # Only add the FIPS config if the FIPS module has been built
32 push @configs, 'fips.cnf' unless $no_fips;
34 my @files = qw( evpciph.txt evpdigest.txt );
35 my @defltfiles = qw( evpencod.txt evpkdf.txt evppkey_kdf.txt evpmac.txt
36 evppbe.txt evppkey.txt evppkey_ecc.txt evpcase.txt evpccmcavs.txt );
37 my @ideafiles = qw( evpciph_idea.txt );
38 push @defltfiles, @ideafiles unless disabled
("idea");
40 my @sivfiles = qw( evpaessiv.txt );
41 push @defltfiles, @sivfiles unless disabled
("siv");
43 my @castfiles = qw( evpciph_cast5.txt );
44 push @defltfiles, @castfiles unless disabled
("cast");
46 my @seedfiles = qw( evpciph_seed.txt );
47 push @defltfiles, @seedfiles unless disabled
("seed");
49 my @sm4files = qw( evpciph_sm4.txt );
50 push @defltfiles, @sm4files unless disabled
("sm4");
52 my @desfiles = qw( evpciph_des.txt );
53 push @defltfiles, @desfiles unless disabled
("des");
55 my @rc4files = qw( evpciph_rc4.txt );
56 push @defltfiles, @rc4files unless disabled
("rc4");
58 my @rc5files = qw( evpciph_rc5.txt );
59 push @defltfiles, @rc5files unless disabled
("rc5");
61 my @rc2files = qw( evpciph_rc2.txt );
62 push @defltfiles, @rc2files unless disabled
("rc2");
64 my @chachafiles = qw( evpciph_chacha.txt );
65 push @defltfiles, @chachafiles unless disabled
("chacha");
67 my @bffiles = qw( evpciph_bf.txt );
68 push @defltfiles, @bffiles unless disabled
("bf");
70 my @md2files = qw( evpmd_md2.txt );
71 push @defltfiles, @md2files unless disabled
("md2");
73 my @mdc2files = qw( evpmd_mdc2.txt );
74 push @defltfiles, @mdc2files unless disabled
("mdc2");
77 ($no_fips ?
0 : 1) # FIPS install test
78 + (scalar(@configs) * scalar(@files))
79 + scalar(@defltfiles);
82 my $infile = bldtop_file
('providers', platform
->dso('fips'));
83 $ENV{OPENSSL_MODULES
} = bldtop_dir
("providers");
84 $ENV{OPENSSL_CONF_INCLUDE
} = bldtop_dir
("providers");
86 ok
(run
(app
(['openssl', 'fipsinstall',
87 '-out', bldtop_file
('providers', 'fipsinstall.conf'),
89 '-provider_name', 'fips', '-mac_name', 'HMAC',
90 '-macopt', 'digest:SHA256', '-macopt', 'hexkey:00',
91 '-section_name', 'fips_sect'])),
96 $ENV{OPENSSL_CONF
} = srctop_file
("test", $_);
98 foreach my $f ( @files ) {
99 ok
(run
(test
(["evp_test", data_file
("$f")])),
100 "running evp_test $f");
104 #TODO(3.0): As more operations are converted to providers we can move more of
105 # these tests to the loop above
107 $ENV{OPENSSL_CONF
} = srctop_file
("test", $defaultcnf);
109 foreach my $f ( @defltfiles ) {
110 ok
(run
(test
(["evp_test", data_file
("$f")])),
111 "running evp_test $f");