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オプションで設定できます。

コメント

  • gpg: conflicting commands暗号化して署名しようとしたとき。
  • @NaftuliTzviKay申し訳ありません–sign- 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を使用した場合と同じです。私の答えでは
  • @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.

と言います

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です