Re: signing commits using gpg2
- From
Santiago Torres <santiago@nyu.edu>
- Date
- Sep 3, 2017, 18:20 UTC
- Message-ID
- <20170903182053.fnyxly5537zjkktc@LykOS.localdomain>
- In-Reply-To
- <CAH_OBieqSY8To9okRTL-z5dnjW=_NLzA+n5-7=eou=Lx33hBdQ@mail.gmail.com>
On Sat, Sep 02, 2017 at 05:11:50PM -0400, shawn wilson wrote:
Show 21 quoted lines
> tl;dr - how do I get git to use gpg2 to sign things? > > I'm using gpg2 (so no agent options are configured but an agent is > running) which is configured w/ a Nitrokey (Pro if it matters): > > % git commit -m "Initial." > > gits/bash-libs (master ⚡) localhost > gpg: detected reader `Nitrokey Nitrokey Pro (000034670000000000000000) 00 00' > gpg: pcsc_connect failed: sharing violation (0x8010000b) > gpg: apdu_send_simple(0) failed: locking failed > Please insert the card and hit return or enter 'c' to cancel: > gpg: pcsc_connect failed: sharing violation (0x8010000b) > gpg: pcsc_connect failed: sharing violation (0x8010000b) > gpg: apdu_send_simple(0) failed: locking failed > Please insert the card and hit return or enter 'c' to cancel: c > gpg: selecting openpgp failed: general error > gpg: signing failed: general error > gpg: signing failed: general error > error: gpg failed to sign the data > fatal: failed to write commit object
This seems to be an issue with your gpg agent configuration (even if there is none).
I can't seem to reproduce, although I don't have a nitrokey, so this is most likely an issue with either:
- the PIV/CCID interface of the nitrokey using gpg2. I"m not familiar enough with nitrokeys to debug this, but keys are usually super paranoid when signing arbitrary buffers. - the fork call within git on gpg2.
I think the second one is rather unlikely, but it's worth giving it a try...
~ localhost
Show 5 quoted lines
> -----BEGIN PGP MESSAGE----- > Version: GnuPG v2 > [SNIPPED] > -----END PGP MESSAGE----- >
I noticed you didn't try gpg2 -d foo.gpg? Am I missing something?
Show 17 quoted lines
> However, if I try this w/ the old gpg: > > % gpg -ae -o foo.gpg foo > > ~ localhost > % gpg -d foo.gpg > > ~ localhost > gpg: detected reader `Nitrokey Nitrokey Pro (000034670000000000000000) 00 00' > gpg: pcsc_connect failed: sharing violation (0x8010000b) > gpg: apdu_send_simple(0) failed: locking failed > Please insert the card and hit return or enter 'c' to cancel: c > gpg: selecting openpgp failed: general error > gpg: encrypted with 3072-bit RSA key, ID 41826CFB, created 2017-03-13 > "Shawn Wilson <ag4ve.us@gmail.com>" > gpg: public key decryption failed: general error > gpg: decryption failed: secret key not available
This feels like an issue with the interface to the key itself. Can you start a non-detached agent with --verbose to see exactly where it blows up?
We probably want to continue this offlist as this seems more of a gpg issue rather than git. We can always come back if we figure out this is something git related :)
Cheers! -Santiago.