我遇到了与 GPG 代理有关的问题,它阻止我使用多个命令,特别是强制用户在签名之前触摸密钥的命令。我使用的是 Debian 8.9 / Linux Mint Debian 版本。
我一直在努力让它pgp2 --edit-card
工作,但发现出于一些我不知道的原因,我不得不使用 sudo 来做这件事。我将证书发送到密钥并继续强制使用触摸功能以使它们工作。问题是启用此功能的脚本使用了 gpg-connect-agent,而 gpg-connect-agent 从来不想工作。
以下是我迄今为止尝试过的方法:
$> gpg2 --card-edit
scdaemon[18891]: PC/SC OPEN failed: unknown PC/SC error code (0x8010002e)
scdaemon[18891]: PC/SC OPEN failed: unknown PC/SC error code (0x8010002e)
gpg: selecting openpgp failed: Card error
gpg: OpenPGP card not available: Card error
$> gpg --card-edit
gpg: pcsc_list_readers failed: unknown PC/SC error code (0x8010002e)
gpg: card reader not available
gpg: OpenPGP card not available: general error
$> sudo gpg --card-edit
gpg: WARNING: unsafe ownership on configuration file `/home/user/.gnupg/gpg.conf'
Application ID ...: [... bunch of data, card is properly read ...]
$> ls -lahg
-rw------- 1 user 9.0K Sep 23 2016 /home/user/.gnupg/gpg.conf // seems ok
$> gpg-connect-agent --hex "scd apdu 00 f1 00 00" /bye
gpg-connect-agent: can't connect to the agent: IPC connect call failed
$> pcsc_scan
PC/SC device scanner
V 1.4.23 (c) 2001-2011, Ludovic Rousseau <[email protected]>
Compiled with PC/SC lite version: 1.8.11
Using reader plug'n play mechanism
Scanning present readers...
Waiting for the first reader...^C // waited ~5m, nothing came up...
$> gpg-agent --daemon
GPG_AGENT_INFO=/tmp/gpg-318mlQ/S.gpg-agent:17327:1; export GPG_AGENT_INFO;
$> GPG_AGENT_INFO=/tmp/gpg-318mlQ/S.gpg-agent:17327:1; export GPG_AGENT_INFO;
$> [ ... tried the same gpg-connect-agent && pcsc_scan, same result ]
$> gpg2 --card-edit
gpg: selecting openpgp failed: Card error
gpg: OpenPGP card not available: Card error
卡本身看起来很好,因为使用 sudo 和 gpg --card-edit 一切正常,但我必须能够调用 gpg-agent,而我面临的问题阻碍了我。
如果有人能帮助我,我将非常感激!
答案1
对我来说,这是因为~/.gnupg/scdaemon.conf
包含
disable-ccid
这是非 gnome wms 所必需的,但显然在使用 gnome 时会导致此错误。删除它并重新启动 gpg-agent 后,这个问题就解决了