我有一个客户的应用程序工作流程依赖于 gnupg (gpg)。他们的系统最近从带有 gnupg 版本 1 的 CentOS 5.x 迁移到带有 gnupg 版本 2 的 CentOS 6.5。
虽然这个变化应该在测试阶段就注意到了,但开发人员错过了它,应用程序现在被破坏了。
是否有任何选项可以在 EL6 系统上运行旧版本的 gnupg?似乎没有一个明显的解决方案,那么我怎样才能恢复到以前版本的功能呢?
问题的性质似乎与代理的 gpg2 要求有关。从手册页;)
--no-use-agent This is dummy option. gpg2 always requires the agent.
相关的命令字符串是:
# cat /home/db1/.passphrase | gpg --no-tty --passphrase-fd 0 --output xxx.TXT --decrypt xxx.pgp
回应是:
无法连接到`/home/jsmith/.gnupg/S.gpg-agent':没有这样的文件或目录
在以下帮助下:
pinentry-curses:没有已知的 LC_CTYPE - 假设 UTF-8
您仍然可以在 Fedora 中安装gnupg (v1) 软件包,因此它也可能在 CentOS 中可用。您可以在 Fedora 中同时安装 gnupg 和 gnupg2。
或者,要让 gpg2 以您期望的方式工作(即,让
--passphrase*
选项实际执行任何操作),您需要使用该--batch
选项。