1#! /usr/bin/env perl 2# Copyright 2007-2023 The OpenSSL Project Authors. All Rights Reserved. 3# Copyright Nokia 2007-2019 4# Copyright Siemens AG 2015-2019 5# 6# Licensed under the Apache License 2.0 (the "License"). You may not use 7# this file except in compliance with the License. You can obtain a copy 8# in the file LICENSE in the source distribution or at 9# https://www.openssl.org/source/license.html 10 11use strict; 12use OpenSSL::Test qw/:DEFAULT data_file srctop_file srctop_dir bldtop_file bldtop_dir/; 13use OpenSSL::Test::Utils; 14 15BEGIN { 16 setup("test_cmp_protect"); 17} 18 19use lib srctop_dir('Configurations'); 20use lib bldtop_dir('.'); 21 22my $no_fips = disabled('fips') || ($ENV{NO_FIPS} // 0); 23 24plan skip_all => "This test is not supported in a no-cmp build" 25 if disabled("cmp"); 26 27plan skip_all => "This test is not supported in a shared library build on Windows" 28 if $^O eq 'MSWin32' && !disabled("shared"); 29 30plan tests => 2 + ($no_fips ? 0 : 1); #fips test 31 32my @basic_cmd = ("cmp_protect_test", 33 data_file("prot_RSA.pem"), 34 data_file("IR_protected.der"), # signed using prot_RSA.pem 35 data_file("prot_Ed.pem"), # test/certs/root-ed25519.privkey.pem 36 data_file("GENM_protected_Ed.der"), # signed using prot_Ed.pem 37 data_file("IR_unprotected.der"), 38 data_file("IP_PBM.der"), 39 data_file("server.crt"), 40 data_file("server.pem"), 41 data_file("EndEntity1.crt"), 42 data_file("EndEntity2.crt"), 43 data_file("Root_CA.crt"), 44 data_file("Intermediate_CA.crt")); 45 46ok(run(test([@basic_cmd, "none"]))); 47 48ok(run(test([@basic_cmd, "default", srctop_file("test", "default.cnf")]))); 49 50unless ($no_fips) { 51 ok(run(test([@basic_cmd, 52 "fips", srctop_file("test", "fips-and-base.cnf")]))); 53} 54