我有定期和體徵運行作業/加密文件,像這樣:GPG:如何使用不同密碼短語對多個簽名進行簽名?
$ gpg --homedir /path/to/.gnupg -r [email protected] -r [email protected] --local-user [email protected] --batch --passphrase-file /path/to/gpg-password --sign -ea myfile
的命令加密文件的兩個收件人:[email protected]和[email protected]。它用[email protected]對文件進行簽名。它以批處理模式運行,因爲沒有人爲交互 - 這是一個自動化過程。它從/ path/to/gpg-password獲取簽名的密碼。
我想要做的是現在用兩個簽名同時簽署文件。像這樣:
$ gpg --homedir /path/to/.gnupg -r [email protected] -r [email protected] --local-user [email protected]n.com --local-user [email protected] --batch --passphrase-file /path/to/gpg-password --sign -ea myfile
gpg: skipped "[email protected]": bad passphrase
它工作在交互模式(例如,沒有--batch),我只是通過命令行來提供這兩個密碼短語罰款。但是,在批處理模式下,它會嘗試從文件中獲取簽名,因此會失敗。簽名僅對其中一個簽名密鑰有效。
從手冊頁:
--passphrase文件
file
從文件中讀取
file
密碼。只有第一行將從文件file
中讀取。只有在只提供了一個密碼短語時才能使用。
我該如何判斷每個密鑰的密碼?
謝謝!我一直在尋找gpg-agent位,認爲現在不值得麻煩。我擺脫密碼是有點危險,只是因爲這些密鑰存儲在其他地方。但如果他們不是,那麼密碼是沒有意義的。 – tytk
使用'gpg-agent'沒有那麼複雜,並且具有可以從應用程序中徹底刪除密碼的優點,並且可以大幅消除私鑰對其的影響。無論如何,您必須這樣做才能支持ECC密鑰,它只支持從GnuPG 2.1開始(並且GnuPG 2刪除了「--passphrase」選項)。 –
我曾指出,如果設置了'--batch'選項,'--passphrase'實際上仍然受到GnuPG 2和2.1的支持。 –