2016-04-22 19:21:51 +08:00
|
|
|
#! /usr/bin/env perl
|
2023-09-07 16:59:15 +08:00
|
|
|
# Copyright 2015-2023 The OpenSSL Project Authors. All Rights Reserved.
|
2016-04-22 19:21:51 +08:00
|
|
|
#
|
2018-12-06 20:05:25 +08:00
|
|
|
# Licensed under the Apache License 2.0 (the "License"). You may not use
|
2016-04-22 19:21:51 +08:00
|
|
|
# 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
|
|
|
|
|
2015-04-18 02:15:22 +08:00
|
|
|
|
|
|
|
use strict;
|
|
|
|
use warnings;
|
|
|
|
|
|
|
|
use File::Spec;
|
2023-01-17 02:56:20 +08:00
|
|
|
use OpenSSL::Test qw/:DEFAULT srctop_file data_file/;
|
2015-04-18 02:15:22 +08:00
|
|
|
|
|
|
|
setup("test_pkcs7");
|
|
|
|
|
2023-01-17 02:56:20 +08:00
|
|
|
plan tests => 7;
|
2015-04-18 02:15:22 +08:00
|
|
|
|
2016-01-30 08:05:33 +08:00
|
|
|
require_ok(srctop_file('test','recipes','tconversion.pl'));
|
2015-04-18 02:15:22 +08:00
|
|
|
|
2022-02-15 23:02:41 +08:00
|
|
|
my @path = qw(test certs);
|
|
|
|
my $pemfile = "grfc.pem";
|
|
|
|
my $p7file = "grfc.p7b";
|
|
|
|
my $out = "grfc.out";
|
|
|
|
|
2015-04-18 02:15:22 +08:00
|
|
|
subtest 'pkcs7 conversions -- pkcs7' => sub {
|
2020-10-15 22:53:29 +08:00
|
|
|
tconversion( -type => 'p7', -in => srctop_file("test", "testp7.pem"),
|
|
|
|
-args => ["pkcs7"] );
|
2015-04-18 02:15:22 +08:00
|
|
|
};
|
|
|
|
subtest 'pkcs7 conversions -- pkcs7d' => sub {
|
2020-10-15 22:53:29 +08:00
|
|
|
tconversion( -type => 'p7d', -in => srctop_file("test", "pkcs7-1.pem"),
|
|
|
|
-args => ["pkcs7"] );
|
2015-04-18 02:15:22 +08:00
|
|
|
};
|
2022-02-15 23:02:41 +08:00
|
|
|
ok(run(app(["openssl", "crl2pkcs7", "-nocrl",
|
|
|
|
"-certfile", srctop_file(@path, $pemfile),
|
|
|
|
"-out", $p7file])));
|
|
|
|
ok(run(app(["openssl", "pkcs7", "-print_certs", "-quiet",
|
|
|
|
"-in", $p7file,
|
|
|
|
"-out", $out])));
|
2023-01-17 02:56:20 +08:00
|
|
|
is(cmp_text($out, data_file('grfc.out')),
|
|
|
|
0, 'Comparing output');
|
|
|
|
|
|
|
|
my $malformed = data_file('malformed.pkcs7');
|
|
|
|
ok(run(app(["openssl", "pkcs7", "-in", $malformed])));
|