gpg-agentのパスワードキャッシュを15秒に設定したいと思います。私がしたことは次のとおりです。
私の2つの設定ファイルとその内容は次のとおりです。
/home/xixor/.gnupg/gpg.conf - gpgにgpg-agentを使用するように指示します。
use-agent
/home/xixor/.gnupg/gpg-agent.conf - gpg-agentに、gpgキーのロック解除のためのパスワードを15秒間キャッシュし、pinentryプログラムを使用してパスワードを入力するように指示します。
default-cache-ttl 15
max-cache-ttl 15
pinentry-program /usr/bin/pinentry
gpg-agentを再ロードし、gpg-agent.confから読み取られたログを確認します。
echo RELOADAGENT | gpg-connect-agent
OK
Aug 08 20:35:23 opticon gpg-agent[35328]: SIGHUP received - re-reading configuration and flushing cache
Aug 08 20:35:23 opticon gpg-agent[35328]: reading options from '/home/xixor/.gnupg/gpg-agent.conf'
この時点で、正しい15秒構成がロードされていることを再確認してください。
gpgconf --list-options gpg-agent | awk -F: '$1=="default-cache-ttl" {print $10}'
15
gpgconf --list-options gpg-agent | awk -F: '$1=="max-cache-ttl" {print $10}'
15
この時点で私のgpgキーのロックを解除する必要があるプログラムを呼び出すことができます。
その後、少なくとも15秒待ってから同じコマンドを再実行し、pinentryを使用してパスワードを再度要求することを期待していますが(15秒のキャッシュが期限切れになったため)、キャッシュ設定を尊重しないという意味のパスワードプロンプトはありません。 gpg-agent.confから。デフォルトの600秒キャッシュに戻るようです。
GPGアクセスを競い合う他のキーチェーンプログラム(gnome-keychain / seahorse / kwalletなど)はインストールされていません。
私がここで何を見逃しているのでしょうか?
答え1
数時間検索した後、ユーザーがスマートカードを使用してgpgキーを保存すると、gpg-agent.confのgpg-agentキャッシュ設定が無視されることがわかりました。
私の場合は、gpgキーをyubikeyに保存し、yubikeyはPINでロック解除され、PINキャッシュ設定はgpg-agent.conf設定をオーバーライドするpcscdデーモンによって制御されます。