summaryrefslogtreecommitdiffstats
path: root/crypto/openssl/apps/CA.pl
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/openssl/apps/CA.pl')
-rwxr-xr-xcrypto/openssl/apps/CA.pl11
1 files changed, 10 insertions, 1 deletions
diff --git a/crypto/openssl/apps/CA.pl b/crypto/openssl/apps/CA.pl
index 7c023ae..4eef57e 100755
--- a/crypto/openssl/apps/CA.pl
+++ b/crypto/openssl/apps/CA.pl
@@ -41,6 +41,7 @@ $REQ="openssl req $SSLEAY_CONFIG";
$CA="openssl ca $SSLEAY_CONFIG";
$VERIFY="openssl verify";
$X509="openssl x509";
+$PKCS12="openssl pkcs12";
$CATOP="./demoCA";
$CAKEY="cakey.pem";
@@ -65,7 +66,7 @@ foreach (@ARGV) {
$RET=$?;
print "Request (and private key) is in newreq.pem\n";
} elsif (/^-newca$/) {
- # if explictly asked for or it doesn't exist then setup the
+ # if explicitly asked for or it doesn't exist then setup the
# directory structure that Eric likes to manage things
$NEW="1";
if ( "$NEW" || ! -f "${CATOP}/serial" ) {
@@ -99,6 +100,14 @@ foreach (@ARGV) {
$RET=$?;
}
}
+ } elsif (/^-pkcs12$/) {
+ my $cname = $ARGV[1];
+ $cname = "My Certificate" unless defined $cname;
+ system ("$PKCS12 -in newcert.pem -inkey newreq.pem " .
+ "-certfile ${CATOP}/$CACERT -out newcert.p12 " .
+ "-export -name \"$cname\"");
+ $RET=$?;
+ exit $RET;
} elsif (/^-xsign$/) {
system ("$CA -policy policy_anything -infiles newreq.pem");
$RET=$?;
OpenPOWER on IntegriCloud