GnuPG Made Easy. NOTE: Maintainers are not tracking this mirror. Do not make pull requests here, nor comment any commits, submit them usual way to bug tracker (https://www.gnupg.org/documentation/bts.html) or to the mailing list (https://www.gnupg.org/documentation/mailing-lists.html).
Go to file
Werner Koch b0aaa3f9ae Document API change for GPGME_EVENT_DONE from 2009.
* doc/gpgme.texi (I/O Callback Interface): Fix description for the
event arg.
--

With commit c8e934b2 (2009-10-26) gpgme_io_event_done_data_t was
introduced to replace the use of gpg_error_t with GPGME_EVENT_DONE.
Unfortunately this was not documented.  Maybe at that time the event
code was considered internal and its use in GPA was not known.  Too
bad.
2013-08-19 20:43:19 +02:00
build-aux Fix libtool 2.4.2 to correctly detect .def files. 2013-05-23 20:15:30 +02:00
contrib Generate the ChangeLog from commit logs. 2011-12-02 11:36:37 +01:00
doc Document API change for GPGME_EVENT_DONE from 2009. 2013-08-19 20:43:19 +02:00
lang Remove all trailing whitespace from source files 2012-09-25 15:29:49 +02:00
m4 Fix libtool 2.4.2 to correctly detect .def files. 2013-05-23 20:15:30 +02:00
src Fix possible segv in the gpgme_op_card_edit. 2013-08-19 20:40:10 +02:00
tests tests: Fix NULL ptr deref in gpgsm/t-verify. 2013-08-19 20:38:36 +02:00
.gitignore .gitignore: flesh out rules and add subdirectory-.gitignores. 2012-04-20 16:05:11 +02:00
acinclude.m4 Remove unused macro GNUPG_FIX_HDR_VERSION. 2011-05-06 13:26:58 +02:00
AUTHORS Release 1.4.0. 2013-02-26 18:02:10 +01:00
autogen.sh Update helper scripts. 2013-02-26 16:14:52 +01:00
ChangeLog Generate the ChangeLog from commit logs. 2011-12-02 11:36:37 +01:00
ChangeLog-2011 Generate the ChangeLog from commit logs. 2011-12-02 11:36:37 +01:00
configure.ac Release 1.4.3. 2013-08-12 14:33:49 +02:00
COPYING Added files usually installed bu automake. We want to keep them in the CVS 2004-01-12 13:49:11 +00:00
COPYING.LESSER 2004-12-07 Marcus Brinkmann <marcus@g10code.de> 2004-12-07 21:13:39 +00:00
gpgme.spec.in 2004-12-07 Marcus Brinkmann <marcus@g10code.de> 2004-12-07 21:13:39 +00:00
gpgme.txt Update the information before release, for what it's worth. 2004-09-30 01:44:17 +00:00
INSTALL Update automake scripts. 2008-07-04 15:46:01 +00:00
Makefile.am Release 1.3.2. 2012-05-02 11:18:24 +02:00
missing Update automake scripts. 2008-07-04 15:46:01 +00:00
NEWS Release 1.4.3. 2013-08-12 14:33:49 +02:00
README Release 1.4.2. 2013-05-28 11:09:07 +02:00
README.GIT Release 1.3.2. 2012-05-02 11:18:24 +02:00
THANKS Add two recent contributors. 2012-07-28 22:11:31 +02:00
TODO 2009-11-10 Marcus Brinkmann <marcus@g10code.de> 2009-11-10 09:07:19 +00:00

                  GPGME - GnuPG Made Easy
                ---------------------------

         Copyright 2004, 2006, 2010, 2012, 2013 g10 Code GmbH

This file is free software; as a special exception the author gives
unlimited permission to copy and/or distribute it, with or without
modifications, as long as this notice is preserved.

This file is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.


Introduction
--------------

GnuPG Made Easy (GPGME) is a C language library that allows to add
support for cryptography to a program.  It is designed to make access
to public key crypto engines like GnuPG or GpgSM easier for
applications.  GPGME provides a high-level crypto API for encryption,
decryption, signing, signature verification and key management.

GPGME uses GnuPG and GpgSM as its backends to support OpenPGP and the
Cryptographic Message Syntax (CMS).

GPGME runs best on GNU/Linux or *BSD systems.  Other Unices may
require small portability fixes, please send us your patches.

See the files COPYING, COPYING.LESSER, and each file for copyright and
warranty information.  The file AUTHORS has a list of authors and
useful web and mail addresses.


Installation
--------------

See the file INSTALL for generic installation instructions.

Check that you have unmodified sources.  See below on how to do this.
Don't skip it - this is an important step!

To build GPGME, you need to install libgpg-error (>= 1.8) and
Libassuan (>= 2.0.2).

For support of the OpenPGP protocol (default), you should use the
latest version of GnuPG (>= 1.4) , available at:
ftp://ftp.gnupg.org/gcrypt/gnupg/
For support of the CMS (Cryptographic Message Syntax) protocol, you
need a GnuPG version >= 2.0.

If configure can't find the `gpg' binary in your path, you can specify
the location with the --with-gpg=/path/to/gpg argument to configure.

If configure can't find the `gpgsm' binary in your path, you can
specify the location with the --with-gpgsm=/path/to/gpgsm argument to
configure.

On some platforms GPGME based applications might hang at certain
operations when using GPGME_PROTOCOL_CMS.  A workaround for this
problem is to build with the configure option --disable-fd-passing.

For building the GIT version of GPGME please see the file README.GIT
for more information.


How to Verify the Source
--------------------------

In order to check that the version of GPGME which you are going to
install is an original and unmodified one, you can do it in one of the
following ways:

a) If you have a trusted Version of GnuPG installed, you can simply check
   the supplied signature:

	$ gpg --verify gpgme-x.y.z.tar.gz.sig

   This checks that the detached signature gpgme-x.y.z.tar.gz.sig is
   indeed a a signature of gpgme-x.y.z.tar.gz.  The key used to create
   this signature is either of:

   "pub  2048R/4F25E3B6 2011-01-12 Werner Koch (dist sig)"
   "pub  1024D/87978569 1999-05-13
                        Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>
                        Marcus Brinkmann <mb@g10code.com>"

   If you do not have this key, you can get it from any keyserver.  You
   have to make sure that this is really the key and not a faked one.
   You can do this by comparing the output of:

	$ gpg --fingerprint 0x4F25E3B6

   with the fingerprint published elsewhere.

b) If you don't have any of the above programs, you have to verify
   the SHA1 checksum:

	$ sha1sum gpgme-x.y.z.tar.gz

   This should yield an output _similar_ to this:

   fd9351b26b3189c1d577f0970f9dcadc3412def1  gpgme-x.y.z.tar.gz

   Now check that this checksum is _exactly_ the same as the one
   published via the announcement list and probably via Usenet.


Documentation
---------------

For information how to use the library you can read the info manual,
which is also a reference book, in the doc/ directory.  The programs
in the tests/gpg/ directory may also prove useful.

Please subscribe to the gnupg-devel@gnupg.org mailing list if you want
to do serious work.

For hacking on GPGME, please have a look at doc/HACKING.