Skip to contentSkip to conversation

Signing your work: GnuPG signing failed (gpg version 2.1)

bug report Hugo Roy 2 participants 2 messages Jun 15, 2016

lore
Share & tools
lore

Hugo Roy

author
#0 lore raw

Hello,

I've tried to sign a commit following
https://git-scm.com/book/tr/v2/Git-Tools-Signing-Your-Work however, this is what happened:

% git commit -a -S -m "signed commit testing"
gpg: échec de la signature : Opération annulée
gpg: signing failed: Opération annulée
error: gpg n'a pas pu signer les données
fatal: échec de l'écriture de l'objet commit

sorry for the locale, "annulée" means cancelled and the last two lines mean:

error: gpg could not sign data
fatal: failure to write the commit object

However, when I tried later, nothing specific happened and the commit was done just as if I did not add the -S option:

% git commit -a -S -m "signed commit test"
[master 739cdd3] signed commit test
1 file changed, 5 deletions(-)

Commit:
https://github.com/hugoroy/.emacs.d/commit/b8e5b72def0c5fcc760c84d6ecd2b95b9727ae62

I notice in the git-scm.com manual that they use GnuPG version 1. I use GnuPG 2.1.6 with libgcrypt 1.6.3.

Let me know if you need more information or any pointer to help me debug this more in depth.

thanks,
Hugo

Signature · 4 lines
Hugo Roy – Free Software Foundation Europe https://fsfe.org/about/roy
 
Please use cryptography for email: see https://emailselfdefense.fsf.org/en/
Merci d’utiliser la cryptographie pour l’email : voir https://emailselfdefense.fsf.org/fr/
#1 lore raw
Quoted 26 lines · Hugo Roy

Hello,

I've tried to sign a commit following
https://git-scm.com/book/tr/v2/Git-Tools-Signing-Your-Work however, this is what happened:

% git commit -a -S -m "signed commit testing"
gpg: échec de la signature : Opération annulée
gpg: signing failed: Opération annulée
error: gpg n'a pas pu signer les données
fatal: échec de l'écriture de l'objet commit

sorry for the locale, "annulée" means cancelled and the last two lines mean:

error: gpg could not sign data
fatal: failure to write the commit object

However, when I tried later, nothing specific happened and the commit was done just as if I did not add the -S option:

% git commit -a -S -m "signed commit test"
[master 739cdd3] signed commit test
1 file changed, 5 deletions(-)

Quoted 7 lines

Commit:
https://github.com/hugoroy/.emacs.d/commit/b8e5b72def0c5fcc760c84d6ecd2b95b9727ae62

I notice in the git-scm.com manual that they use GnuPG version 1. I use GnuPG 2.1.6 with libgcrypt 1.6.3.

I believe this is a bug in GnuPG 2.1 or the relevant pinentry. Debian bug #793016[0] describes my experience with it. Killing the gpg-agent when this occurs and letting it respawn works for me. I'm very certain that this is not a bug in Git, though.

GnuPG 2.1 provides the same command line interface as GnuPG 1, so it will work the same way with git. Failing to sign is a GnuPG problem, not a Git problem.

[0] https://bugs.debian.org/790316

Signature · 3 lines
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187