回答:
以下を指定する必要があります--default-key
。
gpg -s --default-key DEADBEE5 input > output
後で確認する
gpg -d < output | head -1
gpg man
ページから(--sign
セクション):
署名に使用されるキーはデフォルトで選択されるか、-local-userおよび--default-keyオプションで設定できます。
--default-*
コマンドラインではほとんど意味がありません。これらのオプションは、構成ファイル用です。
--local-user
とは--default-key
つまり--local-user
、あなたが存在しないキーを指定した場合、エラーを与えます。で--default-key
、存在しないキーを無視し、キーリングの最初のキーを使用します。
署名キーは-u
/ で選択されます--local-user
:
gpg --local-user 0xDEADBEE5 --sign file
このオプションは、複数のキーの署名を結合するために複数回指定できます。
gpg --local-user 0xDEADBEE5 --local-user 0x12345678 --sign file
--local-user
使用するのと同じです--default-user
私の答えのように
--default-*
、この使用法に推奨されるべきだという意味ではありません。私は長年GnuPGメーリングリストに参加しています。そのようなものを見たことがありません。
-key
特定のキーを使用する場合、-user
YMMVで何かを指定するよりも、名前でオプションを指定する方がはるかに適切だと感じています。
--default-key
、上記の彼のコメントで意味があると思います。私の経験--local-user
との違いの1つ--default-key
は、一致するキーが存在しない場合は最初のキーが失敗し、2番目のキーは他のキーにフォールバックすることです。そのため、--default-key
スクリプトを入れることには非常に注意が必要です。
--default-key
言うIf there is no secret key available for any of the specified values, GnuPG will not emit an error message but continue as if this option wasn't given.
gpg: conflicting commands
暗号化して署名しようとすると。