1 1.1 christos #! /usr/bin/env perl 2 1.1 christos # Copyright 2021 The OpenSSL Project Authors. All Rights Reserved. 3 1.1 christos # 4 1.1 christos # Licensed under the Apache License 2.0 (the "License"). You may not use 5 1.1 christos # this file except in compliance with the License. You can obtain a copy 6 1.1 christos # in the file LICENSE in the source distribution or at 7 1.1 christos # https://www.openssl.org/source/license.html 8 1.1 christos 9 1.1 christos # This is a sanity checker to see that the fipsmodule.cnf that's been 10 1.1 christos # generated for testing is valid. 11 1.1 christos 12 1.1 christos use strict; 13 1.1 christos use warnings; 14 1.1 christos 15 1.1 christos use OpenSSL::Test qw/:DEFAULT srctop_dir bldtop_dir bldtop_file srctop_file data_file/; 16 1.1 christos use OpenSSL::Test::Utils; 17 1.1 christos 18 1.1 christos BEGIN { 19 1.1 christos setup("test_fipsmodule"); 20 1.1 christos } 21 1.1 christos 22 1.1 christos use lib srctop_dir('Configurations'); 23 1.1 christos use lib bldtop_dir('.'); 24 1.1 christos use platform; 25 1.1 christos 26 1.1 christos my $no_check = disabled("fips"); 27 1.1 christos plan skip_all => "Test only supported in a fips build" 28 1.1 christos if $no_check; 29 1.1 christos plan tests => 1; 30 1.1 christos 31 1.1 christos my $fipsmodule = bldtop_file('providers', platform->dso('fips')); 32 1.1 christos my $fipsmoduleconf = bldtop_file('test', 'fipsmodule.cnf'); 33 1.1 christos 34 1.1 christos # verify the $fipsconf file 35 1.1 christos ok(run(app(['openssl', 'fipsinstall', 36 1.1 christos '-in', $fipsmoduleconf, '-module', $fipsmodule, '-verify'])), 37 1.1 christos "fipsinstall verify"); 38