#!/usr/bin/perl

use strict;

my $certdir = $ARGV[0];
my $certfile = $ARGV[1];
my $aki;
my $info;
my $list;

if (! -f "$certdir/certinfo.txt") {
    system("for i in $certdir/*.crt; do echo -n \$i:; certtool --inder -i < \$i|grep 'Subject Key Id' -A 1|tail -1; done > $certdir/certinfo.txt");
}

do {
    print "Parsing $certdir/$certfile...\n";

    $info = `certtool --inder -i < $certdir/$certfile`;

    print "$info";

    if ($info =~ m,Authority Key Identifier.*:\n[\t]*([a-z0-9]+),m) {
	$aki = $1;
    } else {
	die "Could not find AKI";
    }

    print "Finding AKI $aki...\n";

    $list = `cat $certdir/certinfo.txt | grep $aki`;
    if ($list =~m,.*/(.*):.*,) {
	$list = $1;
    } else {
	die "Could not find issuer";
    }
    $certfile = $list;
} while (1);
