.tar.xz
私の秘密鍵を使用してgpg
分離可能に署名したいファイルがあります。
問題は、私のキーリングに複数の秘密鍵をインポートしたが、どのキーを使用するかを選択する必要があることです。
進展
次を実行しようとしています。
gpg --output somefile.tar.xz.sig --detach-sig somefile.tar.xz --local-user [fingerprint]
しかし、エラーが発生します。
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
ここで私は何を間違っているのですか?
答え1
解決策
状況を解決するために、以下を使用しました。実際のケース:
gpg --local-user [fingerprint] --sign --armor --output somefile.tar.xz.asc --detach-sig somefile.tar.xz
分析する
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]
したがって
--local-user
、対応するパラメータが最初に表示される必要があります(可能な場合)。--output
合計を逆にすると、--detach-sig
私の問題に似たエラーが発生します。gpg --local-user [fingerprint] --sign --armor --detach-sig somefile.tar.xz --output somefile.tar.xz.asc
結論として
引数が与えられる順序が重要です。それが失敗した理由です。