#!/usr/bin/perl -w
#
# $Id: get_public_keys.t,v 1.9 2001/05/03 06:00:06 ftobin Exp $
#
use strict;
use English;
use lib './t';
use MyTest;
use MyTestSpecific;
use GnuPG::ComparablePublicKey;
use GnuPG::ComparableSubKey;
my ( $given_key, $handmade_key );
TEST
{
reset_handles();
my @returned_keys = $gnupg->get_public_keys_with_sigs( '0xF950DA9C' );
return 0 unless @returned_keys == 1;
$given_key = shift @returned_keys;
$handmade_key = GnuPG::ComparablePublicKey->new
( length => 1024,
algo_num => 17,
hex_id => '53AE596EF950DA9C',
creation_date_string => '2000-02-06',
expiration_date_string => '2002-02-05',
owner_trust => 'f',
);
$handmade_key->fingerprint
( GnuPG::Fingerprint->new( as_hex_string =>
'93AFC4B1B0288A104996B44253AE596EF950DA9C',
)
);
my $initial_self_signature = GnuPG::Signature->new
( algo_num => 17,
hex_id => '53AE596EF950DA9C',
date_string => '2000-02-06',
);
my $uid2_signature = GnuPG::Signature->new
( algo_num => 17,
hex_id => '53AE596EF950DA9C',
date_string => '2000-03-16',
);
my $ftobin_signature = GnuPG::Signature->new
( algo_num => 17,
hex_id => '56FFD10A260C4FA3',
date_string => '2000-03-16',
);
my $subkey = GnuPG::SubKey->new
( validity => 'u',
length => 768,
algo_num => 16,
hex_id => 'ADB99D9C2E854A6B',
creation_date_string => '2000-02-06',
expiration_date_string => '2002-02-05',
);
$subkey->fingerprint
( GnuPG::Fingerprint->new( as_hex_string =>
'7466B7E98C4CCB64C2CE738BADB99D9C2E854A6B'
)
);
$subkey->signature( $initial_self_signature );
$handmade_key->push_subkeys( $subkey );
$handmade_key->compare( $given_key );
};
TEST
{
my $subkey1 = $given_key->subkeys()->[0];
my $subkey2 = $handmade_key->subkeys()->[0];
bless $subkey1, 'GnuPG::ComparableSubKey';
my $equal = $subkey1->compare( $subkey2 );
warn 'subkeys fail comparison; this is a known issue with GnuPG 1.0.1'
if not $equal;
return $equal;
};
TEST
{
$handmade_key->compare( $given_key, 1 );
};