GPG
view release on metacpan or search on metacpan
$count++;
}
if ($failed == 0) {
print "All $count test passed successfully.\n";
}
else {
printf "Failed $failed test on $count (%2.2d \%).\n", 100 / $count * $failed;
}
}
######################################################
sub new {
$gpg = new GPG(homedir => './test',
armor => '1',
debug => $DEBUG);
die $gpg->error() if $gpg->error();
verbose("New GPG object successfully created");
}
sub gen_key {
($pubring,$secring) = $gpg->gen_key(key_size => "512",
real_name => "Joe Test",
email => 'nobody@yahoo.com',
comment => "",
passphrase => $passphrase);
die $gpg->error() if $gpg->error();
verbose("----> pubring:\n$pubring\n----> secring:\n$secring");
}
sub list_packets {
my $packet = $gpg->list_packets($pubring.$secring);
die $gpg->error() if $gpg->error();
$key_id = $packet->[0]{'key_id'};
if ($VERBOSE) {
my $dump = Data::Dumper->new([$packet]);
verbose($dump->Dump);
}
}
sub import_keys {
my $imported = $gpg->import_keys($pubring.$secring);
die $gpg->error() if $gpg->error();
if ($VERBOSE) {
my $dump = Data::Dumper->new([$imported]);
verbose("Keys imported :\n".$dump->Dump);
}
}
sub fast_import {
my $fast_import = $gpg->fast_import($pubring."\n".$secring);
die $gpg->error() if $gpg->error();
if ($VERBOSE) {
my $dump = Data::Dumper->new([$fast_import]);
verbose("Keys imported :\n".$dump->Dump);
}
}
sub update_trustdb {
my $updated = $gpg->update_trustdb();
die $gpg->error() if $gpg->error();
verbose("Ok: $updated key(s) updated into trustdb.");
}
sub fingerprint {
my $fingerprint = $gpg->fingerprint($key_id);
if ($VERBOSE) {
my $dump = Data::Dumper->new([$fingerprint]);
verbose("Fingerprint :\n".$dump->Dump);
}
}
sub sign_key {
my $sign = $gpg->sign_key($key_id,$passphrase,$key_id);
verbose("signed key :\n$sign");
}
sub lsign_key {
; # not yet implemented
}
sub export_key {
my $export_public = $gpg->export_key($key_id);
verbose("Exported public key :\n$export_public");
}
sub export_secret_key {
my $export_secret = $gpg->export_secret_key($key_id);
verbose("Exported secret key :\n$export_secret");
}
sub clearsign {
$signed = $gpg->clearsign($key_id,$passphrase,$TEST_TEXT);
verbose("signed text :\n$signed");
}
sub detach_sign {
my $sign = $gpg->detach_sign($key_id,$passphrase,$TEST_TEXT);
verbose("detached signature :\n$sign");
}
sub verify {
my $verify = $gpg->verify($signed);
if ($VERBOSE) {
my $dump = Data::Dumper->new([$verify]);
verbose($dump->Dump);
}
}
sub verify_files {
my $wrong_signature = substr($signed,0,60).'xx'.substr($signed,60);
my $verify = $gpg->verify_files($signed);
if ($VERBOSE) {
my $dump = Data::Dumper->new([$verify]);
verbose($dump->Dump);
}
}
sub encrypt {
( run in 0.733 second using v1.01-cache-2.11-cpan-39bf76dae61 )