GnuPG::UserAttribute - GnuPG User Attribute Objects


GnuPG-Interface documentation Contained in the GnuPG-Interface distribution.

Index


Code Index:

NAME

Top

GnuPG::UserAttribute - GnuPG User Attribute Objects

SYNOPSIS

Top

  # assumes a GnuPG::PublicKey object in $publickey
  my $jpgs_size = $publickey->user_attributes->[0]->subpacket_total_size();

DESCRIPTION

Top

GnuPG::UserAttribute objects are generally not instantiated on their own, but rather as part of GnuPG::PublicKey or GnuPG::SecretKey objects.

OBJECT METHODS

Top

new( %initialization_args )

This methods creates a new object. The optional arguments are initialization of data members;

OBJECT DATA MEMBERS

Top

validity

A scalar holding the value GnuPG reports for the calculated validity of the binding between this User Attribute packet and its associated primary key. See GnuPG's DETAILS file for details.

subpacket_count

A scalar holding the number of attribute subpackets. This is usually 1, as most UATs seen in the wild contain a single image in JPEG format.

subpacket_total_size

A scalar holding the total byte count of all attribute subpackets.

signatures

A list of GnuPG::Signature objects embodying the signatures on this user attribute.

revocations

A list of revocations associated with this User Attribute, stored as GnuPG::Signature objects (since revocations are a type of certification as well).

BUGS

Top

No useful information about the embedded attributes is provided yet. It would be nice to be able to get ahold of the raw JPEG material.

SEE ALSO

Top

GnuPG::Signature,


GnuPG-Interface documentation Contained in the GnuPG-Interface distribution.

#  UserAttribute.pm
#    - providing an object-oriented approach to GnuPG user attributes
#
#  Copyright (C) 2010 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
#  (derived from UserId.pm, 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: UserId.pm,v 1.7 2001/08/21 13:31:50 ftobin Exp $
#

package GnuPG::UserAttribute;
use Any::Moose;

has [qw( validity subpacket_count subpacket_total_size )] => (
    isa => 'Any',
    is  => 'rw',
);

has signatures => (
    isa       => 'ArrayRef',
    is        => 'rw',
    default   => sub { [] },
);
has revocations => (
    isa       => 'ArrayRef',
    is        => 'rw',
    default   => sub { [] },
);

sub push_signatures {
    my $self = shift;
    push @{ $self->signatures }, @_;
}
sub push_revocations {
    my $self = shift;
    push @{ $self->revocations }, @_;
}

__PACKAGE__->meta->make_immutable;

1;

__END__