The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Crypt::OpenPGP::KeyServer - Interface to HKP keyservers

SYNOPSIS

    use Crypt::OpenPGP::KeyServer;

    my $key_id = '...';
    my $server = Crypt::OpenPGP::KeyServer->new(
        Server => 'wwwkeys.us.pgp.net'
    );
    my $kb = $server->find_keyblock_by_keyid($key_id);
    print $kb->primary_uid, "\n";
    my $cert = $kb->key;

    my @kbs = $server->find_keyblock_by_uid( 'foo@bar.com' );

DESCRIPTION

Crypt::OpenPGP::KeyServer is an interface to HKP keyservers; it provides lookup by UID and by key ID. At the moment only HKP keyservers are supported; future releases will likely support the NAI LDAP servers and the email keyservers.

USAGE

Crypt::OpenPGP::KeyServer->new( %arg )

Constructs a new Crypt::OpenPGP::KeyServer object and returns that object.

%arg can contain:

  • Server

    The hostname of the HKP keyserver. This is a required argument. You can get a list of keyservers through

        % host -l pgp.net | grep wwwkeys
  • IncludeRevoked

    By default, revoked keys will be skipped when calling find_keyblock_by_uid. If you set IncludeRevoked to 1, find_keyblock_by_keyid will include any revoked keys in the list of keys returned.

$ring->find_keyblock_by_keyid($key_id)

Looks up the key ID $key_id in the keyring $ring. For consistency with the Crypt::OpenPGP::KeyRing::find_keyblock_by_keyid interface, $key_id should be either a 4-octet or 8-octet string--it should not be a string of hexadecimal digits. If you have the hex key ID, use pack to convert it to an octet string:

    pack 'H*', $hex_key_id

Returns false on failure.

$ring->find_keyblock_by_uid($uid)

Given a string $uid, searches the keyserver for all keyblocks matching the user ID $uid, including partial matches. Returns all of the matching keyblocks, the empty list on failure.

AUTHOR & COPYRIGHTS

Please see the Crypt::OpenPGP manpage for author, copyright, and license information.