添加到这个问题:
如何在签署 rpm 后关闭 gnupg V2.0 智能卡?
我尝试执行:
gpg-agent --default-cache-ttl 15 --max-cache-ttl 15 --daemon
但 15 秒后,如果我再次执行签名,gpg2
则不会提示输入 PIN。
到目前为止,我找到的唯一解决方案是拔出/插入读卡器上的智能卡。
答案1
从这些参数开始gpg-agent
可能会给您一条消息:
gpg-agent: gpg-agent running and available
您不会更改正在运行的会话,这就是缓存您的 PIN 的内容。该会话(至少在我的 Ubuntu 12.04 系统上)是由 gnome-session 启动的,实际上是由 script 启动的/etc/X11/Xsession.d/90gpg-agent
。在我的系统上,该文件似乎不允许对 进行任何动态命令行选项设置gpg-agent
,因此您可能必须在其中对这些选项进行硬编码。
当然,您也可以终止并重新启动gpg-agent
,这也将让您摆脱缓存的引脚。只需确保命令的输出转到原始调用gpg-agent
放置它的文件(在我的系统上~/.gnupg/gpg-agent-info-<hostname>
)。
在某些时候,我的银行软件迫使我在提供签名/密码后取出智能卡,作为保护措施。由于他们的软件在虚拟机上运行,我只是暂时从主机上虚拟地删除 USB(连接读卡器)(使用一个小的 python 脚本)。如果您在虚拟机上运行,这也适合您。