GPG

 view release on metacpan or  search on metacpan

test.pl  view on Meta::CPAN

      $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 )