Page MenuHome GnuPG

gnupg 2.0.16 fails with Gemalto USB Shell Token V2
Closed, ResolvedPublic

Description

I've been trying to get a Gemalto USB Shell Token V2 + OpenPGP card v2
to work with gnupg 2.0.16, but with no success.

The command "gpg --card-edit" fails as follows:

$ gpg --card-edit

scdaemon[25465]: reading public key failed: Missing item in object
scdaemon[25465]: reading public key failed: Missing item in object
scdaemon[25465]: reading public key failed: Missing item in object
Application ID ...: <removed id number>
Version ..........: 2.0
Manufacturer .....: ZeitControl
Serial number ....: 00000700
Name of cardholder: [not set]
Language prefs ...: de
Sex ..............: unspecified
URL of public key : [not set]
Login data .......: [not set]
Signature PIN ....: forced
Key attributes ...: 2048R 2048R 2048R
Max. PIN lengths .: 32 32 32
PIN retry counter : 3 0 3
Signature counter : 0
Signature key ....: [none]
Encryption key....: [none]
Authentication key: [none]
General key info..: [none]

gpg/card> scdaemon[25465]: updating slot 0 status: 0x0000->0x0007 (0->1)
scdaemon[25465]: sending signal 12 to client 25465


gpg: OpenPGP card not available: Broken pipe

gpg/card>

Any attempt to run edit commands results in the same "Broken pipe"
message.

Note that gnupg 1.4.10 works perfectly... So this seems this is a bug in
gnupg 2.0.16.

What I have here:

GNU/Linux (gentoo)
ccid 1.4.0
pcsc-lite 1.6.4

Details

Version
2.0.16

Event Timeline

count0 added projects: gnupg, Bug Report.
count0 added a subscriber: count0.

I would just like to add that this problem only happens when gpg-agent is _not_
being used, and it disappears completely if gpg-agent is used.

That was fixed by
2010-11-11 Werner Koch <wk@g10code.com>

  • agent.h (opt): Add field SIGUSR2_ENABLED.
  • gpg-agent.c (handle_connections): Set that flag.
  • call-scd.c (start_scd): Enable events depending on this flag.

and thus 2.0.19 should work fine.

Thanks to gniibe for mentioning this.

werner claimed this task.