【问题标题】:GPG: How to sign with multiple signatures with different passphrases?GPG:如何使用不同密码的多个签名进行签名?
【发布时间】: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


    【解决方案1】:

    你有不同的选择。

    • 完全删除密码,因为它们无论如何都存储在某个地方。
    • 使用相同的密码(您已经发现)。
    • 使用gpg-agent 并预设密码。我不确定这是否仅适用于 GnuPG 2(通常安装为 gpg2,可能从 gnupg2 包中安装)。预设密码就像running gpg-preset-passphrase --preset [fingerprint] 一样简单。您必须为每个密钥单独运行此命令,并确保将密码短语缓存给定时间(至少是添加所有密码短语,然后对要签名的文件进行签名的处理时间)。李>
    • 为了完整起见,但不切实际:为每个密钥单独签署文件,然后拆开 OpenPGP 数据包并重新组合它们,一个接一个地添加所有签名。使用多个密钥签名只会创建多个签名包。

    【讨论】:

    • 谢谢!我一直在研究 gpg-agent 位,决定现在不值得麻烦。我摆脱密码有点危险,因为这些密钥存储在其他地方。但如果不是,那么密码就没有意义了。
    • 使用gpg-agent 并没有那么复杂,它的优点是您实际上可以从应用程序中完全删除密码,并大量删除私钥对其的暴露。无论如何,您都必须这样做才能支持 ECC 密钥,这些密钥仅从 GnuPG 2.1 开始受支持(并且 GnuPG 2 删除了 --passphrase 选项)。
    • 有人指出,如果设置了 --batch 选项,GnuPG 2 和 2.1 实际上仍然支持 --passphrase
    【解决方案2】:

    对于与我相同情况的其他人,我最终通过编辑其中一个签名密钥使其具有与另一个相同的密码(存储在 gpg-password 文件中的密码)来解决 gpg 的这个明显缺陷。在这种情况下,这不会危及安全性,因为密码无论如何都存储在文本文件中 - 真正的安全性是运行此命令的用户的密码以及密钥被保密的事实)。您可以通过执行gpg --edit-key <key_id>,然后执行passwd 来更改密钥上的密码。之后别忘了save

    【讨论】:

      猜你喜欢
      • 2021-12-18
      • 1970-01-01
      • 2016-06-16
      • 1970-01-01
      • 2023-02-11
      • 1970-01-01
      • 2021-05-08
      • 2015-10-06
      • 2022-12-16
      相关资源
      最近更新 更多