O TTL para senhas de cache é controlado pelas opções de gpg-agent
:
--default-cache-ttl n
Set the time a cache entry is valid to n seconds. The default is 600 seconds.
--max-cache-ttl n
Set the maximum time a cache entry is valid to n seconds. After
this time a cache entry will be expired even if it has been accessed
recently. The default is 2 hours (7200 seconds).
Como uma forma de controlar isso sob demanda, se você conseguir acionar um comando ao bloquear sua tela, usando keychain para manipular gpg-agent
pode ser usado para executar
keychain --clear --agents gpg
que mataria todas as instâncias gerenciadas do gpg-agent.
Mas então, você deve ter uma maneira de executar keychain --agents gpg --eval $gpg
ao desbloquear sua tela. Talvez muito trabalho.