Crypt::GpgME(3)

NAME
Crypt::GpgME - Perl interface to libgpgme

SYNOPSIS
    use IO::File;
    use Crypt::GpgME;

    my $ctx = Crypt::GpgME->new;

    $ctx->set_passphrase_cb(sub { 'abc' });

    my $signed = $ctx->sign( IO::File->new('some_file', 'r') );

    print while <$signed>;

FUNCTIONS

  GPGME_VERSION
    my $version = Crypt::GpgME->GPGME_VERSION;
    my $version = $ctx->GPGME_VERSION;

Returns a string containing the libgpgme version number this module has been compiled against.

  new
    my $ctx = Crypt::GpgME->new;

Returns a new Crypt::GpgME instance. Throws an exception on error.

  card_edit
    my $fh = $ctx->card_edit($key, $coderef);
    my $fh = $ctx->card_edit($key, $coderef, $user_data);

  check_version
    Crypt::GpgME->check_version;
    Crypt::GpgME->check_version($version);

  delete
    $ctx->delete($key);
    $ctx->delete($key, $allow_secret);

  edit
    my $fh = $ctx->edit($key, $coderef);
    my $fh = $ctx->edit($key, $coderef, $user_data);

  engine_check_version
    $ctx->engine_check_version($proto);
    Crypt::GpgME->engine_check_version($proto);

  genkey
    my ($result, $pubkey_fh, $seckey_fh) = $ctx->genkey($parms);

  get_armor
    my $armor = $ctx->get_armor;

  get_engine_info
    my $engine_info = $ctx->get_engine_info;
    my $engine_info = Crypt::GpgME->get_engine_info;

  get_include_certs
    my $include_certs = $ctx->get_include_certs;

  get_key
    my $key = $ctx->get_key($fpr);
    my $key = $ctx->get_key($fpr, $secret);

  get_keylist_mode
    my $keylist_mode = $ctx->get_keylist_mode;

  get_protocol
    my $protocol = $ctx->get_protocol;

  get_textmode
    my $textmode = $ctx->get_protocol;

  keylist
    my @results = $ctx->keylist($pattern);
    my @results = $ctx->keylist($pattern, $secret_only);

  set_armor
    $ctx->set_armor($armor);

  set_engine_info
    $ctx->set_engine_info($proto, $file_name, $home_dir);
    Crypt::GpgME->set_engine_info($proto, $file_name, $home_dir);

  set_include_certs
    $ctx->set_include_certs;
    $ctx->set_include_certs($nr_of_certs);

  set_keylist_mode
    $ctx->set_keylist_mode;
    $ctx->set_keylist_mode($keylist_mode);

  set_locale
    $ctx->set_locale($category, $value);
    Crypt::GpgME->set_locale($category, $value);

  set_passphrase_cb
    $ctx->set_passphrase_cb($coderef);
    $ctx->set_passphrase_cb($coderef, $user_data);

  set_progress_cb
    $ctx->set_progress_cb($coderef);
    $ctx->set_progress_cb($coderef, $user_data);

  set_protocol
    $ctx->set_protocol;
    $ctx->set_protocol($proto);

  set_textmode
    $ctx->set_textmode($textmode);

  sig_notation_add
    $ctx->sig_notation_add($name, $value);
    $ctx->sig_notation_add($name, $value, $flags);

  sig_notation_clear
    $ctx->sig_notation_clear;

  sig_notation_get
    my @notation = $ctx->sig_notation_get;

  sign
    my $fh = $ctx->sign($plain);
    my $fh = $ctx->sign($plain, $mode);

  signers_add
    $ctx->signers_add($key);

  signers_clear
    $ctx->signers_clear;

  signers_enum
    my $key = $ctx->signers_enum($seq);

  trustlist
    my @trustlist = $ctx->trustlist($pattern, $maxlevel);

  verify
    my ($result, $plain) = $ctx->verify($sig);
    my $result = $ctx->verify($sig, $signed_text);

AUTHOR
Florian Ragwitz, "<rafl at debian.org>"

BUGS
Please report any bugs or feature requests to "bug-crypt-gpgme at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Crypt-GpgME>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT
You can find documentation for this module with the perldoc command.

    perldoc Crypt::GpgME

You can also look for information at:

•   AnnoCPAN: Annotated CPAN documentation

    <http://annocpan.org/dist/Crypt-GpgME>

•   CPAN Ratings

    <http://cpanratings.perl.org/d/Crypt-GpgME>

•   RT: CPAN's request tracker

    <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Crypt-GpgME>

•   Search CPAN

    <http://search.cpan.org/dist/Crypt-GpgME>

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE
Copyright 2007-2009 Florian Ragwitz, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.