Tại sao GnuPG 2 và gpg-connect-agent thất bại với nhóm ERR 67108983 Không có SmartCard daemon chèn?


10

Sử dụng Debian Jessie và GnuPG 2, mỗi lần tôi cố gắng sử dụng GnuPG 2 ( gpg2) hoặc gpg-connect-agentcùng với thẻ thông minh OpenPGP (trong trường hợp của tôi là YubiKey), thao tác không thành công với một thông báo

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

Khi sử dụng di sản GnuPG 1 ( gpg), mọi thứ đều hoạt động tốt.

Có chuyện gì ở đây vậy?

Câu trả lời:


15

scdaemon mất tích

GnuPG 2 kết nối với thẻ thông qua gpg-agent, một lần nữa không bao gồm các khả năng của thẻ thông minh, nhưng truy cập chúng thông qua một ứng dụng khác. Điều này có thể được cấu hình và có một mặc định phụ thuộc hệ thống, từ 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.

Làm như vậy cho thấy GnuPG cố gắng chạy /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]

Nhưng điều này không có sẵn:

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

Cài đặt scdaemon

Một truy vấn nhanh chóng thông qua apt-cachetiết lộ rằng Debian kéo scdaemon ra khỏi gnupg2gói, rất có thể vì nó giới thiệu một loạt các phụ thuộc mới GnuPG nếu không sẽ không có:

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.

Cài đặt nó với sudo apt-get install scdaemongiải quyết vấn đề.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.