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:

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.