/usr/share/perl5/GnuPG/Signature.pm is in libgnupg-interface-perl 0.46-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | # Signature.pm
# - providing an object-oriented approach to GnuPG key signatures
#
# Copyright (C) 2000 Frank J. Tobin <ftobin@cpan.org>
#
# This module is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# $Id: Signature.pm,v 1.4 2001/08/21 13:31:50 ftobin Exp $
#
package GnuPG::Signature;
use Any::Moose;
has [qw(
validity
algo_num
hex_id
user_id_string
date
date_string
expiration_date
expiration_date_string
sig_class
is_exportable
)] => (
isa => 'Any',
is => 'rw',
);
sub is_valid {
my $self = shift;
return $self->validity eq '!';
}
sub compare {
my ($self, $other) = @_;
my @compared_fields = qw(
validity
algo_num
hex_id
date
date_string
sig_class
is_exportable
);
foreach my $field ( @compared_fields ) {
return 0 unless $self->$field eq $other->$field;
}
# check for expiration if present?
return 0 unless (defined $self->expiration_date) == (defined $other->expiration_date);
if (defined $self->expiration_date) {
return 0 unless (($self->expiration_date == $other->expiration_date) ||
($self->expiration_date_string eq $other->expiration_date_string));
}
return 1;
}
__PACKAGE__->meta->make_immutable;
1;
__END__
=head1 NAME
GnuPG::Signature - GnuPG Key Signature Objects
=head1 SYNOPSIS
# assumes a GnuPG::Key or GnuPG::UserID or GnuPG::UserAttribute object in $signed
my $signing_id = $signed->signatures->[0]->hex_id();
=head1 DESCRIPTION
GnuPG::Signature objects are generally not instantiated
on their own, but rather as part of GnuPG::Key objects.
They embody various aspects of a GnuPG signature on a key.
=head1 OBJECT METHODS
=over 4
=item new( I<%initialization_args> )
This methods creates a new object. The optional arguments are
initialization of data members.
=item is_valid()
Returns 1 if GnuPG was able to cryptographically verify the signature,
otherwise 0.
=item compare( I<$other> )
Returns non-zero only when this Signature is identical to the other
GnuPG::Signature.
=back
=head1 OBJECT DATA MEMBERS
=over 4
=item validity
A character indicating the cryptographic validity of the key. GnuPG
uses at least the following characters: "!" means valid, "-" means not
valid, "?" means unknown (e.g. if the supposed signing key is not
present in the local keyring), and "%" means an error occurred (e.g. a
non-supported algorithm). See the documentation for --check-sigs in
gpg(1).
=item algo_num
The number of the algorithm used for the signature.
=item hex_id
The hex id of the signing key.
=item user_id_string
The first user id string on the key that made the signature.
This may not be defined if the signing key is not on the local keyring.
=item sig_class
Signature class. This is the numeric value of the class of signature.
A table of possible classes of signatures and their numeric types can
be found at http://tools.ietf.org/html/rfc4880#section-5.2.1
=item is_exportable
returns 0 for local-only signatures, non-zero for exportable
signatures.
=item date_string
The formatted date the signature was performed on.
=item date
The date the signature was performed, represented as the number of
seconds since midnight 1970-01-01 UTC.
=item expiration_date_string
The formatted date the signature will expire (signatures without
expiration return undef).
=item expiration_date
The date the signature will expire, represented as the number of
seconds since midnight 1970-01-01 UTC (signatures without expiration
return undef)
=back
=head1 SEE ALSO
=cut
|