compatibility check perl script pgp/gpg
Mark Hofstetter
mark.hofstetter@univie.ac.at
Wed Apr 4 15:35:07 2001
Hi everybody,
I've written a small perl-script to test compatibility between pgp
clearsigned mails ang gpg - it doesn't strive for ellegance but it works ...
perl, pgp and gpg have to be installed and keys have to be exchanged
@bau contains the fragments of which the text which is to be signed is
composed
additionally a random ASCII character is inserted
-> both programs work together quite well but tab-character (ASCII 9) leeds
to to "bad signature" if signed with pgp and checked with gpg an vice versa
Regards
Mark
#!/usr/bin/perl
@bau=("hallo ", "hallo ",
"hallo ","hallo ","hallo ","hallo \t","hallo ","hallo","hallo
","hallo ","hallo ","hallo ","hallo ","hal lo","hallo ","\r\n", "\n");
$k=0;
for ($i=1; $i<=255; $i++)
{
open (STDERR, ">ausgabe.txt");
open (FH, ">text");
$a="";
for ($z=0; $z<=30; $z++)
{
$zuf=int(rand ($#bau));
$a.=$bau[$zuf];
if ($z==15)
{
$zeichen=int(rand 255);
$var=pack "c", $i;
$a.=$var;
}
}
print FH $a;
close FH;
$pgp=`pgp +force -z test -sta text`;
system("cat text.asc");
open (AFH, "<text.asc");
@all=<AFH>;
close AFH;
$aus=join(/""/, @all);
#$aus=s///g;
open (AFH, ">text.asc");
print AFH $aus;
close AFH;
$gpg=`gpg --verify text.asc`;
#system("cat text.asc");
open (AFH, "<ausgabe.txt");
@all=<AFH>;
close AFH;
$aus=join(/""/, @all);
if ($aus=~/Good signature/)
{
print "OK\n";
}
else
{
print "BAD - $i\n";
$fn="fehler".$k;
open (BFH, ">$fn");
print BFH $a;
#print BFH "BAD - $i $var\n";
$k++;
close BFH;
}
}
--
Mag. Mark Hofstetter
Vienna University Computer Center
mh.zid@univie.ac.at