diff options
author | Richard Levitte <levitte@openssl.org> | 2015-04-19 22:24:17 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2015-09-07 16:10:57 +0200 |
commit | 88b8a5279f452027c193c2de7909dd9f7c9736c6 (patch) | |
tree | 7441507a5791f2d282052614ed8c9cc2923e5d3f /test/recipes/80-test_ca.t | |
parent | Add engine and evp test recipes. (diff) | |
download | openssl-88b8a5279f452027c193c2de7909dd9f7c9736c6.tar.xz openssl-88b8a5279f452027c193c2de7909dd9f7c9736c6.zip |
Add recipes for the larger protocols
This covers the certificate authority commands, the cms and smime
commands, OCSP, SSL and TSA.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'test/recipes/80-test_ca.t')
-rw-r--r-- | test/recipes/80-test_ca.t | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/test/recipes/80-test_ca.t b/test/recipes/80-test_ca.t new file mode 100644 index 0000000000..6278672e8c --- /dev/null +++ b/test/recipes/80-test_ca.t @@ -0,0 +1,55 @@ +#! /usr/bin/perl + +use strict; +use warnings; + +use POSIX; +use File::Spec::Functions qw/splitdir curdir catfile devnull/; +use File::Path qw/remove_tree/; +use Test::More; +use OpenSSL::Test qw/:DEFAULT cmdstr top_file quotify/; + +setup("test_ca"); + +my $perl = $^X; +$ENV{OPENSSL} = cmdstr(app(["openssl"])); +my $CA_pl = top_file("apps", "CA.pl"); +my $std_openssl_cnf = top_file("apps", "openssl.cnf"); + +($perl) = quotify($perl) unless $^O eq "VMS"; # never quotify a command on VMS. Ever! + +remove_tree("demoCA", { safe => 0 }); + +plan tests => 4; + SKIP: { + $ENV{SSLEAY_CONFIG} = "-config CAss.cnf"; + skip "failed creating CA structure", 3 + if !is(system("$perl ".$CA_pl." -newca < ".devnull()." 2>&1"), 0, + 'creating CA structure'); + + $ENV{SSLEAY_CONFIG} = "-config Uss.cnf"; + skip "failed creating new certificate request", 2 + if !is(system("$perl ".$CA_pl." -newreq 2>&1"), 0, + 'creating new certificate request'); + + $ENV{SSLEAY_CONFIG} = "-config ".$std_openssl_cnf; + skip "failed to sign certificate request", 1 + if !is(yes("$perl ".$CA_pl." -sign 2>&1"), 0, + 'signing certificate request'); + + is(system("$perl ".$CA_pl." -verify newcert.pem 2>&1"), 0, + 'verifying new certificate'); +} + + +remove_tree("demoCA", { safe => 0 }); +unlink "newcert.pem", "newreq.pem"; + + +sub yes { + open(PIPE, "|-", join(" ",@_)); + local $SIG{PIPE} = "IGNORE"; + 1 while print PIPE "y\n"; + close PIPE; + return 0; +} |