特定の秘密鍵を使用してファイルを分離して署名する方法は? ||なぜこれが失敗するのですか?

特定の秘密鍵を使用してファイルを分離して署名する方法は? ||なぜこれが失敗するのですか?

.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をパラメータまたは指紋として使用します。

  • --signgpg実行する操作です。

  • --armor:バイナリの代わりに人が読める文字を出力します。

  • --outputgpg: 存在しないファイル名を引数として使用します。これがうまくいくことです。存在する場合、上書きするかどうかを尋ねるメッセージが表示されます。

  • --detach-siggpgファイルに直接署名せずに別々の署名ファイルを生成することを意味します。


動作しない例

  1. --local-userパラメータを最初ではなく最後に置くと、私の質問にエラーが発生します。

    gpg --sign --armor --output somefile.tar.xz.asc --detach-sig somefile.tar.xz --local-user [fingerprint]
    

    したがって--local-user、対応するパラメータが最初に表示される必要があります(可能な場合)。

  2. --output合計を逆にすると、--detach-sig私の問題に似たエラーが発生します。

    gpg --local-user [fingerprint] --sign --armor --detach-sig somefile.tar.xz --output somefile.tar.xz.asc
    

結論として

引数が与えられる順序が重要です。それが失敗した理由です。

関連情報