![gpg-zip 使用密钥对 zip 进行签名](https://linux22.com/image/1573033/gpg-zip%20%E4%BD%BF%E7%94%A8%E5%AF%86%E9%92%A5%E5%AF%B9%20zip%20%E8%BF%9B%E8%A1%8C%E7%AD%BE%E5%90%8D.png)
我有以下问题。
我使用 Thunderbird(Engimail)创建了一个密钥对,然后导出 asc 文件,并在 git bash 中将其导入到 gpg。
现在我需要签署一个 zip。
使用命令:
gpg-zip --sign abc.txt def.txt
我收到消息:
gpg: no default secret key: secret key not available
gpg: signing failed: secret key not available
不,我读到你可以使用以下命令设置默认键:
gpg --default-key <keyid>
当我在 bash 中输入此命令时,我收到以下消息:
gpg: Go ahead and type your message ...
现在我可以打字了,但什么也没发生,当我按 CTRL-D 时,它说
gpg: no valid OpenPGP data found.
gpg: processing message failed: eof
我也尝试在 gpg.conf 文件中设置默认键,但是不起作用。
有人能帮我吗?
答案1
您需要使用 --default-key 作为 gpg 命令的一部分,例如
gpg --sign --default-key ABCD1234 file.txt
它将运行命令(在此示例中,使用密钥 ABCD1234 对文件进行签名)并设置 gpg 的默认密钥。
更新:
实际上,在我的机器上,gpg-zip 似乎忽略了 gpg 的默认密钥,因此可能需要使用 @彼得·哈曼的回答。
答案2
您可以尝试使用-u 参数。因此,您可以使用类似以下内容的方法:
gpg-zip -u 0xFFFFFFFF --sign abc.txt def.txt
或者
gpg-zip --sign --gpg-args -u 0xFFFFFFFF abc.txt def.txt