【发布时间】:2015-04-30 15:32:56
【问题描述】:
我有一个定期运行的作业,并像这样对文件进行签名/加密:
$ gpg --homedir /path/to/.gnupg -r key1@mydomain.com -r key2@mydomain.com --local-user sig1@mydomain.com --batch --passphrase-file /path/to/gpg-password --sign -ea myfile
该命令为两个收件人加密文件:key1@mydomain.com 和 key2@mydomain.com。它使用 sig1@mydomain.com 对文件进行签名。它以批处理模式运行,因为没有人工交互 - 这是一个自动化过程。它从 /path/to/gpg-password 获取签名的密码。
我现在想做的是同时用两个签名对文件进行签名。像这样:
$ gpg --homedir /path/to/.gnupg -r key1@mydomain.com -r key2@mydomain.com --local-user sig1@mydomain.com --local-user sig2@mydomain.com --batch --passphrase-file /path/to/gpg-password --sign -ea myfile
gpg: skipped "sig2@mydomain.com": bad passphrase
它在交互模式下运行良好(例如,没有 --batch),我只需要通过命令行提供两个密码。但是,在批处理模式下,它会因为尝试从文件中获取签名而失败。签名仅对其中一个签名密钥有效。
来自手册页:
--密码文件
file从文件
file中读取密码。只会从文件file中读取第一行。这只能在只提供一个密码时使用。
如何告诉它每个密钥的密码是什么?
【问题讨论】:
标签: encryption batch-processing gnupg pgp