aboutsummaryrefslogtreecommitdiff
path: root/scripts/Old/gki.pl
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/Old/gki.pl')
-rw-r--r--scripts/Old/gki.pl46
1 files changed, 46 insertions, 0 deletions
diff --git a/scripts/Old/gki.pl b/scripts/Old/gki.pl
new file mode 100644
index 00000000..e91c4abe
--- /dev/null
+++ b/scripts/Old/gki.pl
@@ -0,0 +1,46 @@
+:
+# $Id$
+eval 'exec perl -w -S $0 ${1+"$@"}'
+ if 0;
+
+use MIME::Base64;
+
+sub g {
+ my $x = shift;
+ $x =~ s{:}{}g;
+ $x = pack("H*", $x);
+ $x = encode_base64($x, "");
+ $x =~ y{+/}{-_};
+ $x =~ s{=+$}{};
+ return $x;
+}
+
+while (@ARGV) {
+ my ($file, $aki, $ski, $a, $s) = shift(@ARGV);
+ if ($file =~ /\.cer$/) {
+ open(F, "-|", qw(openssl x509 -noout -inform DER -text -in), $file)
+ or die("Couldn't run openssl x509 on $file: $!\n");
+ } elsif ($file =~ /\.crl$/) {
+ open(F, "-|", qw(openssl crl -noout -inform DER -text -in), $file)
+ or die("Couldn't run openssl x509 on $file: $!\n");
+ } else {
+ next;
+ }
+ while (<F>) {
+ chomp;
+ s/^\s*//;
+ s/^keyid://;
+ $a = $. + 1
+ if (/X509v3 Authority Key Identifier:/);
+ $s = $. + 1
+ if (/X509v3 Subject Key Identifier:/);
+ $aki = $_
+ if ($a && $. == $a);
+ $ski = $_
+ if ($s && $. == $s);
+ }
+ close(F);
+ my $gaki = $aki ? g($aki) : "=" x 27;
+ my $gski = $ski ? g($ski) : "=" x 27;
+ print("$gaki $gski $file\n");
+}