#!/usr/bin/perl
#
# Splits a certficate file with multiple entries up into
# one certificate perl file
#
# Artistic License
#
# v0.0.1         Nick Burch <nick@tirian.magd.ox.ac.uk>
#

my $filename = shift;
unless($filename) {
  die("Usage:\n  cert-split.pl <certificate-file>\n");
}

open INP, "<$filename" or die("Unable to load \"$filename\"\n");

mkdir("$filename.certs") or die("mkdir('$filename.certs'): $!");

my $ifile = "";
my $thisfile = "";
my $i = 0;
while(<INP>) {
   $ifile .= $_;
   $thisfile .= $_;
   if($_ =~ /^\-+END(\s\w+)?\sCERTIFICATE\-+$/) {
      print "Found a complete certificate:\n";
      print `echo "$thisfile" | openssl x509 -noout -issuer -subject`;
      print "\n";

      my $fname = "$filename.certs/$i";

      open CERT, ">$fname";
      print CERT $thisfile;
      close CERT;

      $thisfile = "";

      print "Certificate saved\n\n";
      $i++;
   }
}
close INP;

print "Completed\n";
