use Crypt::OpenPGP; use Crypt::OpenPGP::KeyRing; my $PGPEncryptedMessage = "-----BEGIN PGP MESSAGE-----Version: haneWIN JavascriptPG v2.0hIwDAAAAAAAAAAABA/4oJfsBR88yts6eY22RJDwEFyhxi2KWIJx6BR8fufIDN4j3H79sCTN3UHDYoCV5zluSyhdSmM8beF1+hQ7PvSsonDOXrGfovIb9/cItQQg1CrgI63Xje85qWW3IUpebnt4UlPnXx1sxK46GtJIEckYppWbXubCunAdFhhCyiq4ZBqQnZ9EAojfFrI8zkVIC/gq7cMZsu1wgn7/lcUvFewUNWWrU8ykAiC5t=R2eG-----END PGP MESSAGE-----"; my $arg; my $secring = Crypt::OpenPGP::KeyRing->new(Filename => "$BASEDIR/private.pgp") or die "Error: ".Crypt::OpenPGP::KeyRing->errstr; my $pubring = Crypt::OpenPGP::KeyRing->new(Filename => "$BASEDIR/public.pgp") or die "Error: ".Crypt::OpenPGP::KeyRing->errstr; $arg{SecRing} = $secring; $arg{PubRing} = $pubring; my $pgp = Crypt::OpenPGP->new(%arg); my $message = $pgp->decrypt(Data => $PGPEncryptedMessage) or die "Error: ".$pgp->errstr; print $cgi->header(); print "The secret message is: ".$message;