Lin*_*eak 6 gpg signature arguments
我有一个.tar.xz文件,我想使用我的gpg私钥对其进行分离签名。
问题是,我有多个私钥导入到我的密钥环中,需要选择使用哪一个。
我正在尝试执行:
gpg --output somefile.tar.xz.sig --detach-sig somefile.tar.xz --local-user [fingerprint]
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
gpg: Note: '--local-user' is not considered an option
gpg: can't open '--local-user': No such file or directory
gpg: signing failed: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么以及如何解决它?
我已经使用以下工作示例来纠正这种情况:
gpg --local-user [fingerprint] --sign --armor --output somefile.tar.xz.asc --detach-sig somefile.tar.xz
Run Code Online (Sandbox Code Playgroud)
gpg:进行签名的程序;在我的例子中版本是2.2.4
--local-user:在我的例子中,将 ID 作为参数或指纹。
--sign: 要做的动作gpg。
--armor:输出人类可读的字符而不是二进制。
--output: 采用一个不存在的文件名作为参数,这是 的gpg工作结果。如果存在,它会询问您是否要覆盖。
--detach-sig:指示gpg不直接对文件进行签名,创建单独的签名文件。
如果您将--local-user及其参数放在末尾,而不是开头,您将得到我的问题中的错误:
gpg --sign --armor --output somefile.tar.xz.asc --detach-sig somefile.tar.xz --local-user [fingerprint]
Run Code Online (Sandbox Code Playgroud)
因此, the--local-user及其参数应首先出现(如果可能)。
如果你颠倒--output和--detach-sig,你会得到一个类似于我的问题的错误:
gpg --local-user [fingerprint] --sign --armor --detach-sig somefile.tar.xz --output somefile.tar.xz.asc
Run Code Online (Sandbox Code Playgroud)给定参数的顺序很重要。这就是它失败的原因。