เหตุใด GnuPG 2 และ gpg-connect-agent จึงล้มเหลวด้วย“ ERR 67108983 No SmartCard daemon”


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แก้ไขปัญหา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.