特定の秘密鍵で暗号化して署名する


20

GnuPGキーリングにOpenPGPスマートカードキー(YubiKey NEO)とローカルシークレットキーがインストールされています。

キーリングのキーではなく、カードのキーでファイルを暗号化して署名したいと思います。署名するキーを指定するにはどうすればよいですか?

ファイルシステムの秘密キーIDがDEADBEEFで、スマートカードキーがのDEADBEE5場合、そのキーで署名するにはどうすればよいですか?

回答:


11

以下を指定する必要があります--default-key

gpg -s --default-key DEADBEE5 input > output

後で確認する

gpg -d < output | head -1

gpg manページから(--signセクション):

署名に使用されるキーはデフォルトで選択されるか、-local-userおよび--default-keyオプションで設定できます。


gpg: conflicting commands暗号化して署名しようとすると。
ナフトゥリケイ14

@NaftuliTzviKayすみません--sign-keyは特定のキーで他のキーに署名するためのものです。答えを更新しました(今回は事前にテストしました)。
アントン14

--default-*コマンドラインではほとんど意味がありません。これらのオプションは、構成ファイル用です。
ホークレイジング14

1
違い--local-userとは--default-keyつまり--local-user、あなたが存在しないキーを指定した場合、エラーを与えます。で--default-key、存在しないキーを無視し、キーリングの最初のキーを使用します。
ウィスバッキー

15

署名キーは-u/ で選択されます--local-user

gpg --local-user 0xDEADBEE5 --sign file

このオプションは、複数のキーの署名を結合するために複数回指定できます。

gpg --local-user 0xDEADBEE5 --local-user 0x12345678 --sign file

使用してmanページによると、--local-user使用するのと同じです--default-user私の答えのように
Anthonの

1
@Anthon同じ結果につながります。これは--default-*、この使用法に推奨されるべきだという意味ではありません。私は長年GnuPGメーリングリストに参加しています。そのようなものを見たことがありません。
ホークレイジング14

ええ、ええ、問題はgnupg-usersで1回出てきたようで、答えを提供した人がmanページを読んでくれたようです;-)。-key特定のキーを使用する場合、-userYMMVで何かを指定するよりも、名前でオプションを指定する方がはるかに適切だと感じています。
アントン14

4
@Anthonは--default-key、上記の彼のコメントで意味があると思います。私の経験--local-userとの違いの1つ--default-keyは、一致するキーが存在しない場合は最初のキーが失敗し、2番目のキーは他のキーにフォールバックすることです。そのため、--default-keyスクリプトを入れることには非常に注意が必要です。
ジャックオコナー

gpg 2.2.4で@ JackO'Connorのコメントをテストして確認しました。男は--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.
ウィスバッキー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.