#!/usr/local/bin/perl5 # # This is only something I'm playing with, it does not work :-) # use Tk; my $main=MainWindow->new(); my $f=$main->Frame(-relief => "ridge", -borderwidth => 2); $f->pack(-fill => 'x'); my $ff=$f->Frame; $ff->pack(-fill => 'x'); my $l=$ff->Label(-text => "TkCA - SSLeay", -relief => "ridge", -borderwidth => 2); $l->pack(-fill => 'x', -ipady => 5); my $l=$ff->Button(-text => "Certify"); $l->pack(-fill => 'x', -ipady => 5); my $l=$ff->Button(-text => "Review"); $l->pack(-fill => 'x', -ipady => 5); my $l=$ff->Button(-text => "Revoke"); $l->pack(-fill => 'x', -ipady => 5); my $l=$ff->Button(-text => "Generate CRL"); $l->pack(-fill => 'x', -ipady => 5); my($db)=&load_db("demoCA/index.txt"); MainLoop; sub load_db { my(%ret); my($file)=@_; my(*IN); my(%db_serial,%db_name,@f,@db_s); $ret{'serial'}=\%db_serial; $ret{'name'}=\%db_name; open(IN,"<$file") || die "unable to open $file:$!\n"; while () { chop; s/([^\\])\t/\1\t\t/g; my(@f)=split(/\t\t/); die "wrong number of fields in $file, line $.\n" if ($#f != 5); my(%f); $f{'type'}=$f[0]; $f{'exp'}=$f[1]; $f{'rev'}=$f[2]; $f{'serial'}=$f[3]; $f{'file'}=$f[4]; $f{'name'}=$f[5]; die "serial number $f{'serial'} appears twice (line $.)\n" if (defined($db{$f{'serial'}})) $db_serial{$f{'serial'}}=\%f; $db_name{$f{'name'}}.=$f{'serial'}." "; } return \%ret; }