dockerfile/examples/openssl/openssl-3.2.1-src/test/recipes/80-test_policy_tree.t

44 lines
1.4 KiB
Perl

#! /usr/bin/env perl
# Copyright 2023 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License 2.0 (the "License"). You may not use
# this file except in compliance with the License. You can obtain a copy
# in the file LICENSE in the source distribution or at
# https://www.openssl.org/source/license.html
use strict;
use warnings;
use POSIX;
use OpenSSL::Test qw/:DEFAULT srctop_file with data_file/;
use OpenSSL::Test::Utils;
use OpenSSL::Glob;
setup("test_policy_tree");
plan skip_all => "No EC support" if disabled("ec");
plan tests => 2;
# The small pathological tree is expected to work
my $small_chain = srctop_file("test", "recipes", "80-test_policy_tree_data",
"small_policy_tree.pem");
my $small_leaf = srctop_file("test", "recipes", "80-test_policy_tree_data",
"small_leaf.pem");
ok(run(app(["openssl", "verify", "-CAfile", $small_chain,
"-policy_check", $small_leaf])),
"test small policy tree");
# The large pathological tree is expected to fail
my $large_chain = srctop_file("test", "recipes", "80-test_policy_tree_data",
"large_policy_tree.pem");
my $large_leaf = srctop_file("test", "recipes", "80-test_policy_tree_data",
"large_leaf.pem");
ok(!run(app(["openssl", "verify", "-CAfile", $large_chain,
"-policy_check", $large_leaf])),
"test large policy tree");