web-dev-qa-db-ja.com

コマンドラインからgpg encryptが呼び出されると、暗号化を行うためにどのようにキーが選択されますか?

GnuPGを使用しています。コマンドラインからgpg encryptが呼び出されると、暗号化を行うためにどのようにキーが選択されますか? -rまたは--recipientがユーザーIDを提供しているように見えますが、それは簡単な答えです。私が見た例はすべて、受信者のメールアドレスを示しています。これは、キーを作成するときに必要な入力です。ただし、ユーザー名、コメント、メールアドレスがまったく同じ2つのキーを作成できました。同じ電子メールアドレスを持つ2つのキーがあり、その電子メールアドレスが受信者に使用されている場合、gpgはどのようにキーを選択しますか?これを行うにはキーIDを使用するのが最善の方法のようですが、そのオプションが表示されません。

2
Peter

多くの場合、複数のキーに一致するパラメーターにフィルターを提供するときは常に、それらのすべてを使用します(例:--list-keysまたは--export)。ここでも同じことを期待していました。ただし、基本的なチェックでは、すべてに対して暗号化されているのではなく、キーリングに最初にインポートされた単一のキーに対してのみ暗号化されていることが示されています(選択が別の順序でインポートされた場合は選択が変更されます)。コマンド--delete-keys-rと同じように機能し、キーリングにある最初のコマンドのみを選択します。

実際のパケットを解析することで、(復号化を試行する以外の方法で)暗号化されたキーを確認できます。

echo Hello world | gpg -e -r jdoe  | gpg --list-packets

また、CBHackingで指摘されているように、どこでもキーIDを使用できます。テキスト形式のユーザーIDを使用することは、使いやすさを向上させるための単純化です。

1
Ángel

https://lists.gnupg.org/pipermail/gnupg-users/2005-June/026022.html (「GPG重複キー」を検索して見つけた)からヒントを取得すると、次のように指定できますIDでキーを指定した場合は、それらすべてで指定します(gpg -sear 104763A0、署名、暗号化、base64エンコードなど、公開鍵IDが104763A0と一致する受信者に署名します)。私は自分のマシンでこれをテストしましたが、うまくいきました。

あいまいなキーを指定するとどうなるかわかりません。可能性が高いオプションは、キーリングの最初のキー(これは、上記のリンクの人物が言っていたことでした)、有効期限から最も遠いキー、最も信頼できるキー、またはその他の種類のキー(つまり、最初のキーに影響する可能性があります)ですキーリングにあるもの」)。

0
CBHacking