format: v1
name: PGP::Sign
maintainer: Russ Allbery <rra@cpan.org>
version: '1.00'
synopsis: create and verify detached PGP signatures
license:
name: Perl
copyrights:
- holder: Russ Allbery <rra@cpan.org>
years: 1997-2000, 2002, 2004, 2018, 2020
build:
type: Module::Build
distribution:
cpan: PGP-Sign
ignore:
- ^t/data/gnupg1/random_seed$
- ^t/data/gnupg./trustdb\.gpg$
packaging:
debian:
package: libpgp-sign-perl
summary: |
PGP::Sign is packaged for Debian as libpgp-sign-perl.
section: perl
tarname: PGP-Sign
version: pgp-sign
support:
email: rra@cpan.org
github: rra/pgp-sign
web: https://www.eyrie.org/~eagle/software/pgp-sign/
vcs:
browse: https://git.eyrie.org/?p=perl/pgp-sign.git
github: rra/pgp-sign
status:
workflow: build
type: Git
url: https://git.eyrie.org/git/perl/pgp-sign.git
quote:
author: William Shakespeare
broken: true
text: |
This above all: to thine own self be true,
And it must follow, as the night the day,
Thou canst not then be false to any man.
work: Hamlet
docs:
user:
- name: docs
title: Module documentation
- name: thanks
title: Thanks and credits
blurb: |
PGP::Sign is a Perl module for generating and verifying detached OpenPGP
signatures of textual data using GnuPG. It was written to support Netnews
article signatures for signed control messages and PGPMoose.
description: |
PGP::Sign is a Perl module that can generate and verify OpenPGP signatures
on some data. Currently, only textual data (data that can be processed
using GnuPG's `--textmode` option) is supported. It uses GnuPG under the
hood to do the work.
The original purpose of this module was to factor out common code in a
News::Article class written by Andrew Gierth that handled PGPMoose and
control message signatures. It is used to verify control message
signatures for the ftp.isc.org Netnews metadata archive, and to generate
signed control messages for the Big Eight Usenet hierarchies.
Data to be signed or verified can be passed into PGP::Sign in a wide
variety of formats: scalars, arrays, open files, even code references that
act as generators. Keys with passphrases are supported and the passphrase
is passed to GnuPG securely (although getting the passphrase to the
PGP::Sign module is a problem for the calling application).
This module supports both GnuPG v2 and GnuPG v1 and, when used with GnuPG
v1, supports using OpenPGP keys and generating and verifying signatures
that are backward-compatible with PGP 2.6.2.
PGP::Sign provides both a (recommended) object-oriented API and a (legacy)
function-based API that uses global variables for configuration and is
backward-compatible with earlier versions of PGP::Sign.
requirements: |
Perl 5.20 or later and Module::Build are required to build this module,
and IPC::Run is required to use it. Either GnuPG v2 or GnuPG v1
(selectable at runtime) is also required. It has not been tested with
versions of GnuPG older than 1.4.23.
PGP::Sign uses IPC::Run features that are documented as not available on
Windows (primarily higher-numbered file descriptors) and has never been
tested with Gpg4win, so will probably not work on Windows (or, for that
matter, other non-UNIX systems).
test:
lancaster: true
suffix: |
The following additional Perl modules will be used by the test suite if
present:
* Devel::Cover
* Test::MinimumVersion
* Test::Perl::Critic
* Test::Pod
* Test::Pod::Coverage
* Test::Spelling
* Test::Strict
* Test::Synopsis
All are available on CPAN. Those tests will be skipped if the modules are
not available.