Page MenuHome GnuPG

gpgmeProject
ActivePublic

Details

Description

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 comes with language bindings for Common Lisp, C++, QT, Python2 and Python 3.

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

Recent Activity

Tue, Sep 21

werner closed T5615: pgpme fails compiling: void value not ignored as Resolved.

Please see T5587

Tue, Sep 21, 8:44 PM · gpgme, Duplicate, Bug Report

Wed, Sep 8

ikloecker closed T5591: How to build Gpgmepp in Windows 10 as Invalid.

Please talk to the KDE folks who develop Craft. We do not support building anything with Craft. Check out gpg4win (https://dev.gnupg.org/source/gpg4win/) to see how we build our products on Windows.

Wed, Sep 8, 10:39 AM · Cross-Compiler, gpgme
kashif created T5591: How to build Gpgmepp in Windows 10.
Wed, Sep 8, 10:19 AM · Cross-Compiler, gpgme

Sun, Sep 5

ffontaine added a comment to T5587: src/posix-io.c: fix build with glibc >= 2.34.

Nevermind, I found the appropriate link above, thanks again.

Sun, Sep 5, 7:05 PM · gpgme
ffontaine added a comment to T5587: src/posix-io.c: fix build with glibc >= 2.34.

Thanks for noticing me but I can't access your git repository at https://dev.gnupg.org/source/gnupg.git and the github mirror at https://github.com/gpg/gpgme is not up to date. Do you have an other mirror?

Sun, Sep 5, 7:03 PM · gpgme
werner closed T5587: src/posix-io.c: fix build with glibc >= 2.34 as Resolved.

Thanks. This has already been fixed in July with rM4b64774b6d13ffa4f59dddf947a97d61bcfa2f2e

Sun, Sep 5, 11:47 AM · gpgme
ffontaine updated the task description for T5587: src/posix-io.c: fix build with glibc >= 2.34.
Sun, Sep 5, 12:14 AM · gpgme
ffontaine created T5587: src/posix-io.c: fix build with glibc >= 2.34.
Sun, Sep 5, 12:13 AM · gpgme

Wed, Sep 1

gniibe set External Link to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102151 on T5556: Use of offsetof is better for allocation of flexible array.
Wed, Sep 1, 3:44 AM · gnupg (gpg23), gpgme, libgcrypt
gniibe added a comment to T5556: Use of offsetof is better for allocation of flexible array.

I filed a bug report to GCC, with modified test case.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102151

Wed, Sep 1, 3:43 AM · gnupg (gpg23), gpgme, libgcrypt
gniibe claimed T5556: Use of offsetof is better for allocation of flexible array.
Wed, Sep 1, 2:54 AM · gnupg (gpg23), gpgme, libgcrypt

Aug 25 2021

werner triaged T5556: Use of offsetof is better for allocation of flexible array as Normal priority.
Aug 25 2021, 4:27 PM · gnupg (gpg23), gpgme, libgcrypt

Aug 24 2021

gniibe added a comment to T5556: Use of offsetof is better for allocation of flexible array.
t-fam.c: In function 'main':
t-fam.c:34:14: warning: array subscript 'struct arg_and_data_s[0]' is partly outside array bounds of 'unsigned char[22]' [-Warray-bounds]
   34 |   aad0->next = NULL;
      |              ^
t-fam.c:30:10: note: referencing an object of size 22 allocated by 'malloc'
   30 |   aad0 = malloc (offsetof (struct arg_and_data_s, arg) + 2);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
t-fam.c:35:13: warning: array subscript 'struct arg_and_data_s[0]' is partly outside array bounds of 'unsigned char[22]' [-Warray-bounds]
   35 |   aad0->len = 2;
      |   ~~~~~~~~~~^~~
t-fam.c:30:10: note: referencing an object of size 22 allocated by 'malloc'
   30 |   aad0 = malloc (offsetof (struct arg_and_data_s, arg) + 2);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
t-fam.c:36:15: warning: array subscript 'struct arg_and_data_s[0]' is partly outside array bounds of 'unsigned char[22]' [-Warray-bounds]
   36 |   aad0->flags = 0;
      |   ~~~~~~~~~~~~^~~
t-fam.c:30:10: note: referencing an object of size 22 allocated by 'malloc'
   30 |   aad0 = malloc (offsetof (struct arg_and_data_s, arg) + 2);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
t-fam.c:37:18: warning: array subscript 'struct arg_and_data_s[0]' is partly outside array bounds of 'unsigned char[22]' [-Warray-bounds]
   37 |   aad0->print_fd = fd;
      |   ~~~~~~~~~~~~~~~^~~~
t-fam.c:30:10: note: referencing an object of size 22 allocated by 'malloc'
   30 |   aad0 = malloc (offsetof (struct arg_and_data_s, arg) + 2);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Aug 24 2021, 7:29 AM · gnupg (gpg23), gpgme, libgcrypt
gniibe added a comment to T5556: Use of offsetof is better for allocation of flexible array.

For GCC 11, modified version of struct arg_and_data_s has an issue for x86_64.

Aug 24 2021, 4:53 AM · gnupg (gpg23), gpgme, libgcrypt

Aug 23 2021

gniibe added a comment to T5556: Use of offsetof is better for allocation of flexible array.

For the use case of struct arg_and_data_s in gpgme, which may allocate zero-sized ARG[], it seems that GCC 11 interprets it as an invalid use.

Aug 23 2021, 6:25 AM · gnupg (gpg23), gpgme, libgcrypt
gniibe added projects to T5556: Use of offsetof is better for allocation of flexible array: libgcrypt, gpgme, gnupg (gpg23).
Aug 23 2021, 4:47 AM · gnupg (gpg23), gpgme, libgcrypt

Aug 17 2021

aheinecke triaged T5558: GPGME: No error handling for symmetric encryption as Normal priority.
Aug 17 2021, 11:45 AM · gpgme

Aug 13 2021

werner changed the edit policy for gpgme.
Aug 13 2021, 11:03 PM

Jul 28 2021

bernhard added a comment to T5250: macOS: gpgconf SIGSEGV when run via gpgme from the GUI application.

dlopen'ing of gpgme is NOT SUPPORTED. It is in general not a good idea to do this on standard Unix systems.

Jul 28 2021, 11:08 AM · gpgme, MacOS, Bug Report
werner added a comment to T5250: macOS: gpgconf SIGSEGV when run via gpgme from the GUI application.

To extend on this: dlopen'ing of gpgme is NOT SUPPORTED. It is in general not a good idea to do this on standard Unix systems. On Windows we could make it work because DLLs on that platform are well designed and not a hack like the Unix shared objects.

Jul 28 2021, 9:49 AM · gpgme, MacOS, Bug Report

Jul 27 2021

aheinecke claimed T5250: macOS: gpgconf SIGSEGV when run via gpgme from the GUI application.

We really want thunderbird users that interact with GPGME to have a great and stable user experience, but the problem with dynamic loading and self compiled versions is that we cannot really know the build settings and enviornment and it is very time consuming to reproduce that. GPGME does some very low level things for optimized IPC that can depend on build options etc. This is why I am mostly in favor that thunderbird ships a defined version that we can debug and see the settings.

Jul 27 2021, 4:47 PM · gpgme, MacOS, Bug Report
bernhard added a comment to T5250: macOS: gpgconf SIGSEGV when run via gpgme from the GUI application.

Reading the mozilla entry more carefully, there still seems to be an issue.

Jul 27 2021, 10:58 AM · gpgme, MacOS, Bug Report
bernhard added a comment to T5250: macOS: gpgconf SIGSEGV when run via gpgme from the GUI application.

https://blog.gerv.net/2012/01/mozilla-projects-and-gpled-code/

@kaie, thanks for the pointer!

Jul 27 2021, 10:27 AM · gpgme, MacOS, Bug Report

Jul 26 2021

kaie added a comment to T5250: macOS: gpgconf SIGSEGV when run via gpgme from the GUI application.

BTW @kaie

Thunderbird cannot use anything requiring GPL in its default configuration, because Thunderbird wants to distribute a single MPL licensed package that includes all components that are required for OpenPGP.

Any pointer why, they have made that choice, though? A bundle of MPL and GNU GPL components is fully allowed by the licenses as far as I know.

Jul 26 2021, 11:59 PM · gpgme, MacOS, Bug Report

Jul 24 2021

bernhard added a comment to T5250: macOS: gpgconf SIGSEGV when run via gpgme from the GUI application.

Using GPGME is probably the best way, even if gpgme-json might also work for some operations.

Jul 24 2021, 4:52 PM · gpgme, MacOS, Bug Report

Jul 19 2021

ikloecker merged T5526: GPGME: Qt test t-various fails on i386 into T5522: gpgme: qt: t-various.cpp TestVarious::testSignKeyWithExpiration fails on 32 bit.
Jul 19 2021, 10:25 AM · gpgme, Bug Report
ikloecker merged task T5526: GPGME: Qt test t-various fails on i386 into T5522: gpgme: qt: t-various.cpp TestVarious::testSignKeyWithExpiration fails on 32 bit.
Jul 19 2021, 10:25 AM · gpgme, Bug Report
ikloecker closed T5526: GPGME: Qt test t-various fails on i386 as Resolved.

This is a duplicate of T5522: gpgme: qt: t-various.cpp TestVarious::testSignKeyWithExpiration fails on 32 bit.

Jul 19 2021, 10:22 AM · gpgme, Bug Report

Jul 8 2021

ikloecker closed T5522: gpgme: qt: t-various.cpp TestVarious::testSignKeyWithExpiration fails on 32 bit as Resolved.
Jul 8 2021, 2:21 PM · gpgme, Bug Report
andreasstieger added a comment to T5522: gpgme: qt: t-various.cpp TestVarious::testSignKeyWithExpiration fails on 32 bit.

rM6a79e90dedc19877ae1c520fed875b57089a5425 looks good

Jul 8 2021, 1:44 PM · gpgme, Bug Report
ikloecker claimed T5522: gpgme: qt: t-various.cpp TestVarious::testSignKeyWithExpiration fails on 32 bit.
Jul 8 2021, 11:42 AM · gpgme, Bug Report

Jul 7 2021

andreasstieger created T5522: gpgme: qt: t-various.cpp TestVarious::testSignKeyWithExpiration fails on 32 bit.
Jul 7 2021, 8:56 PM · gpgme, Bug Report
Saturneric added a comment to T5468: About the API of GpgME to revoke key pairs and subkeys..

Thanks for the reply, this source code file and suggestions are very useful. Let gpg execute commands is a solution, but it is not optimal compared to providing a functional interface.
In addition, it is reversible to revoke the subkey by expiring it. But I will use the solutions you provide at this stage, knowing that you have time to provide better solutions. thank you!

Jul 7 2021, 6:26 PM · gpgme, Feature Request
ikloecker added a comment to T5468: About the API of GpgME to revoke key pairs and subkeys..

What do you mean by "exporting revocation certificates"? Once such a certificate is imported you simply export the public key including the revocation signature. Otherwise, simply takes the revocation certificates from ${GNUPGHOME}/openpgp-revocs.d where they are written to, if you generate a key. Kleopatra uses gpg directly to generate a revocation certificate mimicking what gpgme would do: See https://dev.gnupg.org/source/kleo/browse/master/src/commands/genrevokecommand.cpp.

Jul 7 2021, 10:24 AM · gpgme, Feature Request

Jul 6 2021

werner triaged T5468: About the API of GpgME to revoke key pairs and subkeys. as Normal priority.
Jul 6 2021, 6:10 PM · gpgme, Feature Request

Jun 29 2021

ikloecker closed T5515: qgpgme: Allow retrieving the default value of a config entry as Resolved.
Jun 29 2021, 12:31 PM · gpgme, Restricted Project, kleopatra
ikloecker moved T5515: qgpgme: Allow retrieving the default value of a config entry from Restricted Project Column to Restricted Project Column on the Restricted Project board.
Jun 29 2021, 12:31 PM · gpgme, Restricted Project, kleopatra
ikloecker moved T5515: qgpgme: Allow retrieving the default value of a config entry from Restricted Project Column to Restricted Project Column on the Restricted Project board.
Jun 29 2021, 11:56 AM · gpgme, Restricted Project, kleopatra
ikloecker triaged T5515: qgpgme: Allow retrieving the default value of a config entry as Normal priority.
Jun 29 2021, 11:56 AM · gpgme, Restricted Project, kleopatra

Jun 26 2021

ikloecker closed T5509: Use-after-free in t-edit-sign test as Resolved.

Thanks for the report. Fixed.

Jun 26 2021, 6:07 PM · gpgme, Bug Report

Jun 25 2021

werner assigned T5509: Use-after-free in t-edit-sign test to ikloecker.

Thanks for the report.

Jun 25 2021, 5:49 PM · gpgme, Bug Report
atsampson created T5509: Use-after-free in t-edit-sign test.
Jun 25 2021, 5:07 PM · gpgme, Bug Report
werner added a project to T5500: gpgme: Test t-idiomatic.py fails with Python 3.8: Python.
Jun 25 2021, 9:16 AM · Python, gpgme, Bug Report
werner triaged T5500: gpgme: Test t-idiomatic.py fails with Python 3.8 as Normal priority.

We need to see how to best fix this regression test for all Python versions.

Jun 25 2021, 9:16 AM · Python, gpgme, Bug Report

Jun 24 2021

werner updated the task description for T5499: Release GPGME 1.16.0.
Jun 24 2021, 7:48 PM · Release Info, gpgme
werner closed T5292: regression: no longer possible to get signatures from decrypt from unknown keys as Resolved.
Jun 24 2021, 7:43 PM · patch, Python, gpgme, Bug Report
werner closed T5499: Release GPGME 1.16.0 as Resolved.
Jun 24 2021, 7:40 PM · Release Info, gpgme
werner lowered the priority of T3958: GPGME: Qt Bindings and MacOS from Normal to Low.
Jun 24 2021, 6:31 PM · MacOS, qt, gpgme
werner moved T4276: Context.decrypt() throws an error if *any* signature is bad from Backlog to Python on the gpgme board.
Jun 24 2021, 6:30 PM · gpgme, Python, Bug Report
werner renamed T5284: Allow gpgme to export w/o attributes from gpgme uses incorrect flags for minimal, no uid export of public keys to Allow gpgme to export w/o attributes.
Jun 24 2021, 6:24 PM · Feature Request, gpgme