25-test_pkcs7.t 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #! /usr/bin/env perl
  2. # Copyright 2015-2023 The OpenSSL Project Authors. All Rights Reserved.
  3. #
  4. # Licensed under the Apache License 2.0 (the "License"). You may not use
  5. # this file except in compliance with the License. You can obtain a copy
  6. # in the file LICENSE in the source distribution or at
  7. # https://www.openssl.org/source/license.html
  8. use strict;
  9. use warnings;
  10. use File::Spec;
  11. use OpenSSL::Test qw/:DEFAULT srctop_file data_file/;
  12. setup("test_pkcs7");
  13. plan tests => 7;
  14. require_ok(srctop_file('test','recipes','tconversion.pl'));
  15. my @path = qw(test certs);
  16. my $pemfile = "grfc.pem";
  17. my $p7file = "grfc.p7b";
  18. my $out = "grfc.out";
  19. subtest 'pkcs7 conversions -- pkcs7' => sub {
  20. tconversion( -type => 'p7', -in => srctop_file("test", "testp7.pem"),
  21. -args => ["pkcs7"] );
  22. };
  23. subtest 'pkcs7 conversions -- pkcs7d' => sub {
  24. tconversion( -type => 'p7d', -in => srctop_file("test", "pkcs7-1.pem"),
  25. -args => ["pkcs7"] );
  26. };
  27. ok(run(app(["openssl", "crl2pkcs7", "-nocrl",
  28. "-certfile", srctop_file(@path, $pemfile),
  29. "-out", $p7file])));
  30. ok(run(app(["openssl", "pkcs7", "-print_certs", "-quiet",
  31. "-in", $p7file,
  32. "-out", $out])));
  33. is(cmp_text($out, data_file('grfc.out')),
  34. 0, 'Comparing output');
  35. my $malformed = data_file('malformed.pkcs7');
  36. ok(run(app(["openssl", "pkcs7", "-in", $malformed])));