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