Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Perl验证GPG文件签名_Perl_Gnupg - Fatal编程技术网

用Perl验证GPG文件签名

用Perl验证GPG文件签名,perl,gnupg,Perl,Gnupg,我想验证一个GPG签名的文件(用archive.tar.gz.sign验证archive.tar.gz) ATM我只需直接调用gpg并解析出口代码和输出。虽然这是一个适合我的解决方案,但我认为一定有更好的方法以更完美的方式实现这一点 但是作为一名编程新手,我无法理解如何使用GPG CPAN模块 任何提示都将不胜感激 on CPAN在概要中包含以下内容: use GnuPG qw( :algo ); my $gpg = new GnuPG(); $gpg->verify( signature

我想验证一个GPG签名的文件(用archive.tar.gz.sign验证archive.tar.gz)

ATM我只需直接调用gpg并解析出口代码和输出。虽然这是一个适合我的解决方案,但我认为一定有更好的方法以更完美的方式实现这一点

但是作为一名编程新手,我无法理解如何使用GPG CPAN模块

任何提示都将不胜感激

on CPAN在概要中包含以下内容:

use GnuPG qw( :algo );
my $gpg = new GnuPG();
$gpg->verify( signature => "file.txt.asc", file => "file.txt" );
它看起来非常干净。

on CPAN在概要中包含以下内容:

use GnuPG qw( :algo );
my $gpg = new GnuPG();
$gpg->verify( signature => "file.txt.asc", file => "file.txt" );
它看起来很干净。

该模块可能会有所帮助。它是OpenPGP规范的纯Perl实现

描述

OpenPGP是的纯Perl实现。除了对标准本身的支持外,Crypt::OpenPGP还声称与许多其他PGP实现兼容,包括支持该标准的PGP实现和之前的PGP实现

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 ],
);
该模块可能会有所帮助。它是OpenPGP规范的纯Perl实现

描述

OpenPGP是的纯Perl实现。除了对标准本身的支持外,Crypt::OpenPGP还声称与许多其他PGP实现兼容,包括支持该标准的PGP实现和之前的PGP实现

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 ],
);

你还不明白什么?如何下载CPAN模块本身,或者在安装后如何使用它?你试过什么?我试过三个不同的模块。使用和以下代码:
严格使用;使用警告;使用gnupgqw(:algo);my$gpg=new GnuPG();my$sig=$gpg->verify(签名=>“linux-2.6.32.31.tar.bz2.sign”,文件=>“linux-2.6.32.31.tar.bz”)。。。它能做什么,你期望它能做什么?你基本上一直在说“它不起作用”,这是没有帮助的。它在这里工作得很好。如果签名验证失败,则发出
croak
s;否则,您应该在此处打印出
$sig
hashref变量的内容。(不过,您应该注意,在试图找到相同的内核版本时,我注意到内核2.6.32似乎只升到了2.6.32.27…)您不明白什么?如何下载CPAN模块本身,或者在安装后如何使用它?你试过什么?我试过三个不同的模块。使用和以下代码:
严格使用;使用警告;使用gnupgqw(:algo);my$gpg=new GnuPG();my$sig=$gpg->verify(签名=>“linux-2.6.32.31.tar.bz2.sign”,文件=>“linux-2.6.32.31.tar.bz”)。。。它能做什么,你期望它能做什么?你基本上一直在说“它不起作用”,这是没有帮助的。它在这里工作得很好。如果签名验证失败,则发出
croak
s;否则,您应该在此处打印出
$sig
hashref变量的内容。(不过,您应该注意,在试图找到相同的内核版本时,我注意到内核2.6.32似乎只升到了2.6.32.27…)