Commit 4650de3e authored by Richard Levitte's avatar Richard Levitte
Browse files

Add recipes for tests related to certificates



Some of them make use of recipes/tconversion.pl.

Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
parent 0c85cc50
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
#! /usr/bin/perl

use strict;
use warnings;

use File::Spec;
use Test::More;
use OpenSSL::Test qw/:DEFAULT top_file/;

setup("test_crl");

plan tests => 2;

require_ok(top_file('test','recipes','tconversion.pl'));

subtest 'crl conversions' => sub {
    tconversion("crl", top_file("test","testcrl.pem"));
};
+44 −0
Original line number Diff line number Diff line
#! /usr/bin/perl

use strict;
use warnings;

use File::Spec;
use Test::More;
use OpenSSL::Test qw/:DEFAULT top_file/;

setup("test_gen");

plan tests => 1;

my $T = "testcert";
my $KEY = 512;
my $CA = top_file("certs", "testca.pem");

unlink "$T.1", "$T.2", "$T.key";
open RND, ">>", ".rnd";
print RND "string to make the random number generator think it has entropy";
close RND;

subtest "generating certificate requests" => sub {
    my @req_new;
    if (run(app(["openssl", "no-rsa"], stdout => undef))) {
	@req_new = ("-newkey", "dsa:".top_file("apps", "dsa512.pem"));
    } else {
	@req_new = ("-new");
	note("There should be a 2 sequences of .'s and some +'s.");
	note("There should not be more that at most 80 per line");
    }

    unlink "testkey.pem", "testreq.pem";

    plan tests => 2;

    ok(run(app(["openssl", "req", "-config", top_file("test", "test.cnf"),
		@req_new, "-out", "testreq.pem"])),
       "Generating request");

    ok(run(app(["openssl", "req", "-config", top_file("test", "test.cnf"),
		"-verify", "-in", "testreq.pem", "-noout"])),
       "Verifying signature on request");
};
+21 −0
Original line number Diff line number Diff line
#! /usr/bin/perl

use strict;
use warnings;

use File::Spec;
use Test::More;
use OpenSSL::Test qw/:DEFAULT top_file/;

setup("test_pkcs7");

plan tests => 3;

require_ok(top_file('test','recipes','tconversion.pl'));

subtest 'pkcs7 conversions -- pkcs7' => sub {
    tconversion("p7", top_file("test", "testp7.pem"), "pkcs7");
};
subtest 'pkcs7 conversions -- pkcs7d' => sub {
    tconversion("p7d", top_file("test", "pkcs7-1.pem"), "pkcs7");
};
+44 −0
Original line number Diff line number Diff line
#! /usr/bin/perl

use strict;
use warnings;

use File::Spec;
use Test::More;
use OpenSSL::Test qw/:DEFAULT top_file/;

setup("test_req");

plan tests => 3;

require_ok(top_file('test','recipes','tconversion.pl'));

my @openssl_args = ("req", "-config", "../apps/openssl.cnf");

run_conversion('req conversions',
	       "testreq.pem");
run_conversion('req conversions -- testreq2',
	       "testreq2.pem");

sub run_conversion {
    my $title = shift;
    my $reqfile = shift;

    subtest $title => sub {
	run(app(["openssl", @openssl_args,
		 "-in", $reqfile, "-inform", "p",
		 "-noout", "-text"],
		stderr => "req-check.err", stdout => undef));
	open DATA, "req-check.err";
      SKIP: {
	  plan skip_all => "skipping req conversion test for $reqfile"
	      if grep /Unknown Public Key/, map { chomp } <DATA>;

	  tconversion("req", "testreq.pem", @openssl_args);
	}
	close DATA;
	unlink "req-check.err";

	done_testing();
    };
}
+18 −0
Original line number Diff line number Diff line
#! /usr/bin/perl

use strict;
use warnings;

use File::Spec;
use Test::More;
use OpenSSL::Test qw/:DEFAULT top_file/;

setup("test_sid");

plan tests => 2;

require_ok(top_file('test','recipes','tconversion.pl'));

subtest 'sid conversions' => sub {
    tconversion("sid", top_file("test","testsid.pem"), "sess_id");
};
Loading