Warum schlagen GnuPG 2 und gpg-connect-agent mit "ERR 67108983 No SmartCard daemon" fehl?

10

Bei Verwendung von Debian Jessie und GnuPG 2 schlägt der Vorgang jedes Mal fehl , wenn ich versuche, GnuPG 2 ( gpg2) oder gpg-connect-agentzusammen mit einer OpenPGP-Smartcard (in meinem Fall einem YubiKey) zu verwenden

$ gpg-connect-agent --hex "scd apdu 00 f1 00 00" /bye
ERR 67108983 No SmartCard daemon <GPG Agent>
$ gpg2 --card-status
ERR 67108983 No SmartCard daemon <GPG Agent>

Bei Verwendung des älteren GnuPG 1 ( gpg) funktioniert alles einwandfrei.

Was läuft hier falsch?

Jens Erat
quelle

Antworten:

15

scdaemon wird vermisst

GnuPG 2 stellt eine Verbindung zur Karte her gpg-agent, die wiederum keine Smartcard-Funktionen enthält, aber über eine andere Anwendung auf sie zugreift. Dies kann konfiguriert werden und hat einen systemabhängigen Standard von man gpg-agent:

--scdaemon-program filename
      Use program filename as the Smartcard daemon.  The default is
      installation dependent and can be shown with the gpgconf command.

Dies zeigt, dass GnuPG versucht zu laufen /usr/lib/gnupg2/scdaemon:

$ gpgconf
gpg:GPG für OpenPGP:/usr/bin/gpg2
gpg-agent:GPG Agent:/usr/bin/gpg-agent
scdaemon:Smartcard Daemon:/usr/lib/gnupg2/scdaemon
[snip]

Dies ist jedoch nicht verfügbar:

$ /usr/lib/gnupg2/scdaemon
bash: /usr/lib/gnupg2/scdaemon2: No such file or directory

Installieren scdaemon

Eine kurze Abfrage apt-cachezeigt, dass Debian scdaemon das gnupg2Paket herausgezogen hat, wahrscheinlich weil es eine Reihe neuer Abhängigkeiten einführt, die GnuPG sonst nicht hätte:

Package: scdaemon
Source: gnupg2
Version: 2.1.10-3
Installed-Size: 538
Maintainer: Debian GnuPG Maintainers <[email protected]>
Architecture: amd64
Replaces: gpgsm (<< 2.0.18-2)
Depends: gnupg-agent (= 2.1.10-3), libassuan0 (>= 2.2.0), libc6 (>= 2.15),
  libgcrypt20 (>= 1.6.1), libgpg-error0 (>= 1.14), libksba8 (>= 1.2.0),
  libnpth0 (>= 0.90), libusb-0.1-4 (>= 2:0.1.12)
Breaks: gpgsm (<< 2.0.18-2)
Description-en: GNU privacy guard - smart card support
 GnuPG is GNU's tool for secure communication and data storage.
 It can be used to encrypt data and to create digital signatures.
 It includes an advanced key management facility and is compliant
 with the proposed OpenPGP Internet standard as described in RFC4880.
 .
 This package contains the smart card program scdaemon, which is used
 by gnupg-agent to access OpenPGP smart cards.

Durch die Installation mit wird sudo apt-get install scdaemondas Problem behoben.

Jens Erat
quelle