Home | History | Annotate | Line # | Download | only in recipes
      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