NAME

GnuPG::Key - GnuPG Key Object

SYNOPSIS

# assumes a GnuPG::Interface object in $gnupg
my @keys = $gnupg->get_public_keys( 'ftobin' );

# now GnuPG::PublicKey objects are in @keys

DESCRIPTION

GnuPG::Key objects are generally not instantiated on their own, but rather used as a superclass of GnuPG::PublicKey, GnuPG::SecretKey, or GnuPG::SubKey objects.

OBJECT METHODS

Initialization Methods

new( %initialization_args )

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

hash_init( %args ).
short_hex_id

This returns the commonly-used short, 8 character short hex id of the key.

compare( $other, $deep )

Returns non-zero only when this Key is identical to the other GnuPG::Key. If $deep is present and non-zero, the key's associated signatures, revocations, and revokers will also be compared.

OBJECT DATA MEMBERS

length

Number of bits in the key.

algo_num

They algorithm number that the Key is used for.

usage_flags

The Key Usage flags associated with this key, represented as a string of lower-case letters. Possible values include: (a) authenticate, (c) certify, (e) encrypt, and (s) sign.

A key may have any combination of them in any order. In addition to these letters, the primary key has uppercase versions of the letters to denote the _usable_ capabilities of the entire key, and a potential letter 'D' to indicate a disabled key.

See "key capabilities" DETAILS from the GnuPG sources for more details.

hex_data

The data of the key. WARNING: this seems to have never been instantiated, and should always be undef.

pubkey_data

A list of Math::BigInt objects that correspond to the public key material for the given key (this member is empty on secret keys).

For DSA keys, the values are: prime (p), group order (q), group generator (g), y

For RSA keys, the values are: modulus (n), exponent (e)

For El Gamal keys, the values are: prime (p), group generator (g), y

For more details, see: http://tools.ietf.org/html/rfc4880#page-42

hex_id

The long hex id of the key. This is not the fingerprint nor the short hex id, which is 8 hex characters.

creation_date_string
expiration_date_string

Formatted date of the key's creation and expiration. If the key has no expiration, expiration_date_string will return undef.

creation_date
expiration_date

Date of the key's creation and expiration, stored as the number of seconds since midnight 1970-01-01 UTC. If the key has no expiration, expiration_date will return undef.

fingerprint

A GnuPG::Fingerprint object.

signatures

A list of GnuPG::Signature objects embodying the signatures on this key. For subkeys, the signatures are usually subkey-binding signatures. For primary keys, the signatures are statements about the key itself.

revocations

A list of revocations associated with this key, stored as GnuPG::Signature objects (since revocations are a type of certification as well). Note that a revocation of a primary key has a different semantic meaning than a revocation associated with a subkey.

revokers

A list of GnuPG::Revoker objects associated with this key, indicating other keys which are allowed to revoke certifications made by this key.

SEE ALSO

GnuPG::Fingerprint, GnuPG::Signature, GnuPG::Revoker,