Проверьте подпись файла GPG с помощью Perl - PullRequest
1 голос
/ 06 марта 2011

Я хочу проверить подписанный файл GPG (Проверьте файл archive.tar.gz с помощью archive.tar.gz.sign).

Банкомат Я просто вызываю gpg напрямую и анализирую код выхода и вывод. Хотя это решение работает для меня, я считаю, что должен быть более хороший способ сделать это более изощренным способом.

Но, как начинающий программист, я не понимаю, как я могу использовать модули GPG CPAN.

Любые советы приветствуются!

Ответы [ 2 ]

4 голосов
/ 06 марта 2011

Модуль GnuPG на CPAN содержит это в кратком изложении:

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

Кажется, очень чисто.

0 голосов
/ 10 апреля 2017

Может помочь модуль Crypt :: OpenPGP . Это чистая Perl-реализация спецификации OpenPGP.

ОПИСАНИЕ

Crypt :: OpenPGP является чисто Perl-реализацией стандарта OpenPGP . В дополнение к поддержке самого стандарта 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 ],
);
...