aboutsummaryrefslogtreecommitdiff
path: root/test/recipes/80-test_ca.t
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2015-04-19 22:24:17 +0200
committerRichard Levitte <levitte@openssl.org>2015-09-07 16:10:57 +0200
commit88b8a5279f452027c193c2de7909dd9f7c9736c6 (patch)
tree7441507a5791f2d282052614ed8c9cc2923e5d3f /test/recipes/80-test_ca.t
parent4fb35f8fcba5b49bdf8223e1964ef4cf640ea0ca (diff)
downloadopenssl-88b8a5279f452027c193c2de7909dd9f7c9736c6.zip
openssl-88b8a5279f452027c193c2de7909dd9f7c9736c6.tar.gz
openssl-88b8a5279f452027c193c2de7909dd9f7c9736c6.tar.bz2
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.t55
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 0000000..6278672
--- /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;
+}