Чому GnuPG 2 та gpg-connect-агент не працюють з “ERR 67108983 Без демона SmartCard”?


10

Використовуючи Debian Jessie та GnuPG 2, кожен раз, коли я намагаюся використовувати GnuPG 2 ( gpg2) або gpg-connect-agentразом із смарт-карткою OpenPGP (у моєму випадку YubiKey), операція не завершується повідомленням

$ 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>

Під час використання застарілого GnuPG 1 ( gpg) все працює добре.

Що тут не так?

Відповіді:


15

scdaemon відсутня

GnuPG 2 підключається до карти через gpg-agent, що знову не включає можливості смарт-карти, але отримує доступ до них через інший додаток. Це може бути налаштовано і має системну залежність за замовчуванням з 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.

Це виявляє, що GnuPG намагається запустити /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]

Але це недоступно:

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

Встановлення scdaemon

Швидкий запит apt-cacheвиявляє, що Debian витягнув scdaemon із gnupg2пакета, ймовірно, тому що він вводить купу нових залежностей, які GnuPG інакше не матиме:

Package: scdaemon
Source: gnupg2
Version: 2.1.10-3
Installed-Size: 538
Maintainer: Debian GnuPG Maintainers <pkg-gnupg-maint@lists.alioth.debian.org>
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.

Встановлення його за допомогою sudo apt-get install scdaemonвирішує проблему.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.