web-dev-qa-db-ja.com

GnuPGとそのデーモンgpg-agentの使用

gpg-agentパッケージをビルドするとき、Debian/Ubuntuを使用してGnuPGパスワードを覚え、提供しています。しかし、私はまだgpg-agentがどのように機能するのか混乱しています。 gpg-agentを次のように呼び出します。

eval $(gpg-agent --daemon)

それは時々動作します。しかし、私を悩ませているのは、時々それが機能しないということです。つまり、ビルドプロセスで、GnuPGパスワードが1回要求されることもあれば、要求されないこともあり、何度も要求されることもあります。これはすべて、以前と同じようにgpg-agentを呼び出した後、1回のbashセッション中に発生します。今回パスワードを要求されなくても、次回パスワードを要求されないという保証はありません。 gpgがパスワードの入力を求める理由と、そうでない理由をまだ理解していません。

それはあなたにも起こりますか?

ありがとう

9
xpt

http://tr.opensuse.org/SDB:Using_gpg-agent からgpg-agentを適切に使用する方法を見つけました

その後、私のgpg-agentデーモンが私のGnuPGパスワードを適切にキャッシュしています。セットアップに問題はありませんでした。GnuPGパスワードが正しくキャッシュされているかどうかをテストする方法がわからなかっただけです。

今私がやります:

echo "test" | gpg -ase -r 0xMYKEYID | gpg

サイトから: "0xMYKEYIDをGnuPGキーIDに置き換えます。このコマンドの実行中、エージェントはグラフィカルパスワードダイアログを2回開く必要があります。最初は署名または暗号化(gpg -ase)(gpg- ase)次に、復号化または署名チェック(| gpg)を実行します。これ以降、GnuPGが使用されるたびに(コマンドラインから、またはKMailなどのグラフィカルプログラムに埋め込まれて)、gpg-agentのパスワードが自動的に渡されます(タイムアウトが期限切れになるか、グラフィカルインターフェイスが閉じます。」

また、キャッシュの有効期限を回避するために、非常に長いタイムアウト期間を設定しました。

$ cat ~/.gnupg/gpg-agent.conf
max-cache-ttl 60480000
default-cache-ttl 60480000
7
xpt