OpenPGPスマートカード鍵(YubiKey NEO)と、GnuPG鍵リングにインストールされているローカル秘密鍵を持っています。
キーリングのキーではなく、カードのキーを使用してファイルを暗号化して署名したいのですが。署名するキーを指定するにはどうすればよいですか?
ファイルシステムの秘密キーIDがDEADBEEF
で、スマートカードキーが、そのキーで署名するにはどうすればよいですか?
回答
--default-key
:
gpg -s --default-key DEADBEE5 input > output
その後、
gpg -d < output | head -1
gpg man
ページ(--sign
セクション)から:
署名に使用するキーはデフォルトで選択されているか、-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
を使用した場合と同じです。私の答えでは - @Anthon同じ結果になります。これは、'がこの使用法に
--default-*
を推奨する必要があるという意味ではありません。私はGnuPGメーリングリストに何年も参加しています。私はこれまでそのようなものを見たことがありません。 - そうですね、問題はgnupg-usersで一度発生したようで、あなたので答えを提供したのはあなたです。マニュアルページを読む;-)。
-user
YMMVで何かを指定するよりも、特定のキーを使用する場合は、名前に-key
を使用してオプションを指定する方がはるかに適切だと感じます。 。 - @Anthonは、上記のコメントで
--default-key
を意味していると思います。それを実行すると、私の経験では--local-user
と--default-key
の違いの1つは、一致するキーがない場合、最初のキーが失敗することです'は存在しませんが、2番目は他のキーにフォールバックします。そのため、'スクリプトに--default-key
を入れることには非常に注意が必要です。 - テストして確認しました@ JackO ' Connor 'のgpg2.2.4でのコメント。
--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
暗号化して署名しようとしたとき。--default-*
はコマンドラインではほとんど意味がありません。これらのオプション設定ファイル用です。--local-user
と--default-key
の違いは、--local-user
は、存在しないキーを指定するとエラーになります。--default-key
を使用すると、存在しないキーは無視され、キーリングの最初のキーが使用されます。