Embora eu não tenha uma solução completa, encontrei uma solução alternativa:
Ao usar um diretório inicial alternativo para o GnuPG por meio do parâmetro --homedir
ou da variável de ambiente GNUPGHOME
, é possível forçar o GnuPG a usar um conjunto diferente de arquivos de armazenamento de chaves e caminhos de soquete de agente associados. Com isso em mente, posso iniciar um shell dentro de uma nova gpg-agent
session:
gpg-agent \
--homedir /my/other/keys \
--default-cache-ttl 86400 \
--max-cache-ttl 86400 \
--daemon \
\
/bin/bash
Todas as senhas inseridas expirarão se o TTL especificado passar (um dia neste exemplo) ou serão "esquecidas" quando o novo shell sair, pois isso fará com que o pai gpg-agent
instance seja terminado automaticamente. / p>
A razão pela qual eu não considero isso uma solução completa é que isso força o uso de um chaveiro separado. No entanto, isso funciona perfeitamente para o meu caso de uso específico e, portanto, eu não investiguei mais.
Pode ser possível obter o efeito completo de sessões independentes para o mesmo chaveiro, tendo links simbólicos para o chaveiro GnuPG padrão, desde que sejam tomados cuidados suficientes. mantendo qualquer bloqueio entre diferentes gpg-agent
instâncias. Vou deixar isso como um exercício para o leitor ...