#!/usr/bin/perl -w use strict; use Crypt::OpenPGP; #Public key stored in binary file my $pbkey = 'public.bin.key'; #This is how I would get message, which includes the signature #my $message = 'colon_separated_values'; #my $signature = 'parsed_string_from_message'; #Tried having the message and signature in separate files my $signature = 'sigFile.txt'; my $message = 'message.txt'; my $pubring = Crypt::OpenPGP::KeyRing->new(Filename => $pbkey) || die "Pubring Failed: ",$pbkey->errstr; my $pgp = Crypt::OpenPGP->new(PubRing => $pubring) or die "Can't find public key"; my $result = $pgp->verify( SigFile => $signature, Data => [ $message ] ) || die "Verification Failed: ",$pgp->errstr; if ($result) { print "Verified, signing key: $result\n"; } else { print "Bad signature!\n"; }