使用 Perl 验证 GPG 文件签名

发布于 2024-10-21 02:10:40 字数 199 浏览 3 评论 0原文

我想验证 GPG 签名文件(使用 archive.tar.gz.sign 验证 archive.tar.gz)。

ATM 我只是直接调用 gpg 并解析退出代码和输出。虽然这是一个适合我的解决方案,但我认为必须有更好的方法以更有效的方式做到这一点。

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

非常感谢任何提示!

I want to verify a GPG signed file (Verify archive.tar.gz with archive.tar.gz.sign).

ATM I simply call gpg directly and parse the exit code and output. While this is a works-for-me solution, I figure there must be a nicer way to do this in a more perlish way.

But as a programming novice I fail to understand how I can use the GPG CPAN modules.

Any hints are much appreciated!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

时间你老了 2024-10-28 02:10:40

CPAN 上的 GnuPG 模块 在概要中包含以下内容

use GnuPG qw( :algo );
my $gpg = new GnuPG();
$gpg->verify( signature => "file.txt.asc", file => "file.txt" );

:干净的。

The GnuPG module on CPAN contains this in the synopsis:

use GnuPG qw( :algo );
my $gpg = new GnuPG();
$gpg->verify( signature => "file.txt.asc", file => "file.txt" );

It seems very clean.

酒浓于脸红 2024-10-28 02:10:40

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

描述

Crypt::OpenPGP 是 OpenPGP 标准 的纯 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 ],
);

The Crypt::OpenPGP module may be of help. It's a pure Perl implementation of the OpenPGP spec.

DESCRIPTION

Crypt::OpenPGP is a pure-Perl implementation of the OpenPGP standard. In addition to support for the standard itself, Crypt::OpenPGP claims compatibility with many other PGP implementations, both those that support the standard and those that preceded it.

Crypt::OpenPGP provides signing/verification, encryption/decryption, keyring management, and key-pair generation; in short it should provide you with everything you need to PGP-enable yourself.

Here's an example of using it to verify a file:

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 ],
);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文