Nem todas as quatro operações mencionadas exigem que a frase secreta seja inserida, mas apenas as que fazem uso da chave privada: descriptografia e assinatura. Tanto a criptografia quanto a verificação como contrapartes da descriptografia e da assinatura só fazem uso da chave pública, que não é armazenada em uma maneira criptografada (protegida por senha).
Algumas pessoas preferem que a senha seja armazenada em cache para descriptografia de mensagens criptografadas, mas sejam consultas para a frase secreta o tempo todo se você estiver assinando mensagens. Ou porque consideram as mensagens falsas, mas corretamente assinadas, mais perigosas do que as mensagens descriptografadas por um invasor ou porque desejam impedir a assinatura acidental de mensagens.
gpg-agent
conhece várias opções para ajustar seu comportamento de armazenamento em cache, entre aquelas --default-cache-ttl
para definir quanto tempo as frases secretas são armazenadas em cache e --ignore-cache-for-signing
, que impede que o GnuPG solicite a frase secreta de qualquer maneira para assinar.
De man gpg-agent
:
--ignore-cache-for-signing
This option will let gpg-agent bypass the passphrase cache for all signing operation. Note that there is also a per-session option to control this behaviour but this com‐mand line option takes precedence.
--default-cache-ttl n
Set the time a cache entry is valid to n seconds. The default is 600 seconds. Each time a cache entry is accessed, the entry's timer is reset. To set an entry's maximum lifetime, use
max-cache-ttl
.
É muito provável que você defina ignore-cache-for-signing
em ~/.gnupg/gpg-agent.conf
, o que não é padrão.