我想验证GPG签名文件(使用archive.tar.gz.sign验证archive.tar.gz)。
ATM我只是直接调用gpg并解析退出代码和输出。虽然这是一个适合我的解决方案,但我认为必须有一种更好的方式以更加美观的方式做到这一点。
但作为编程新手,我无法理解如何使用GPG CPAN模块。
非常感谢任何提示!
答案 0 :(得分:4)
CPAN上的GnuPG module在概要中包含了这个:
use GnuPG qw( :algo );
my $gpg = new GnuPG();
$gpg->verify( signature => "file.txt.asc", file => "file.txt" );
看起来很干净。
答案 1 :(得分:0)
Crypt::OpenPGP模块可能有所帮助。它是OpenPGP规范的纯Perl实现。
说明
Crypt :: OpenPGP是OpenPGP standard的纯Perl实现。除了对标准本身的支持之外,Crypt :: OpenPGP声称与许多其他PGP实现兼容,包括支持该标准的那些以及之前的那些。
Crypt :: OpenPGP提供签名/验证,加密/解密,密钥环管理和密钥对生成;简而言之,它应该为您提供PGP启用所需的一切。
以下是使用它验证文件的示例:
my $pgp = Crypt::OpenPGP->new;
# Verify the detached signature $signature, which should be of the
# source file $file.
my $is_valid = $pgp->verify(
Signature => $signature,
Files => [ $file ],
);