Como fazer com que o gpg-agent armazene em cache as senhas que digito ao ler / salvar arquivos * .gpg?


9

Desejo trabalhar com gpgarquivos criptografados usando o Emacs e gostaria de poder inserir a senha para cada arquivo criptografado apenas uma vez por sessão do Emacs.

Eu costumava fazer isso definindo a variável epa-file-cache-passphrase-for-symmetric-encryptioncomo t, mas isso não funciona mais. A explicação pode ser encontrada na última linha da documentação da variável epa-file-cache-passphrase-for-symmetric-encryption:

(defcustom epa-file-cache-passphrase-for-symmetric-encryption nil
  "If non-nil, cache passphrase for symmetric encryption.

For security reasons, this option is turned off by default and
not recommended to use.  Instead, consider using gpg-agent which
does the same job in a safer way.  See Info node `(epa) Caching
Passphrases' for more information.

Note that this option has no effect if you use GnuPG 2.0."
  :type 'boolean
  :group 'epa-file)

Após uma atualização recente do sistema, a gpgversão em meu sistema agora é a versão 2.1.8, o que torna epa-file-cache-passphrase-for-symmetric-encryptionineficaz.

As referências mencionadas na documentação acima levam a uma página que apenas diz para você usar novamente gpg-agent, mas não diz nada sobre como fazê-lo. Não consegui encontrar instruções claras sobre como configurar gpg-agento caso de uso que descrevi no início desta postagem. Qualquer ajuda seria apreciada.

FWIW, psme diz que /usr/bin/gpg-agent --supervisedrealmente está em execução. O que mais devo fazer para que ele armazene em cache as senhas inseridas ao trabalhar com *.gpgarquivos?

Além disso, o valor da minha epg-gpg-programvariável é /usr/bin/gpg, que se refere à instância da versão 2.1.8 instalada gpgmencionada anteriormente.

As versões do Emacs que estou usando são 26.0.50 e 27.0.50. Nos dois casos, a versão do epapacote é 23.1.


Você pode usar o pinentrypacote por esta resposta : #
— Felipe Felipe Lema

@FelipeLema: Para mim, usando o pinentry alterado, as senhas são salvas para descriptografia ao abrir o arquivo, mas ainda preciso digitá-las duas vezes para criptografia durante a gravação. :-(
— Weidenrinde

Respostas:


4

https://www.gnupg.org/documentation/manuals/gnupg/Agent-Options.html#Agent-Options

Nesta documentação, as opções nas quais você pode estar interessado

  • default-cache-ttl n, Define o tempo que uma entrada de cache é válida para n segundos. O padrão é 600 segundos. Cada vez que uma entrada de cache é acessada, o timer da entrada é redefinido. Para definir a vida útil máxima de uma entrada, use max-cache-ttl. Observe que uma senha em cache pode não ser removida imediatamente da memória se nenhum cliente solicitar uma operação de cache. Isso ocorre devido a uma função interna de limpeza, que é executada apenas a cada poucos segundos.
  • max-cache-ttl n Defina o tempo máximo que uma entrada de cache é válida para n segundos. Após esse período, uma entrada de cache expirará, mesmo que tenha sido acessada recentemente ou tenha sido definida usando gpg-preset-passphrase. O padrão é 2 horas (7200 segundos).

você pode definir isso no arquivo de configuração ~ / .gnupg / gpg-agent.conf

por exemplo: default-cache-ttl 86400

Parece que o gpg-agent não suporta senhas de cache para toda a sessão


Obrigado, mas isso não funciona para mim. Mesmo depois de reconfigurar (com longos tempos de cache) e reiniciar gpg-agent, ainda recebo a minha senha ( duas vezes ) sempre que tento salvar um *.gpgarquivo.
— KJo

você pode confirmar se o cache funciona ao descriptografar no terminal?
— junnu

O armazenamento em cache funciona ao descriptografar , tanto no Emacs quanto no terminal. O problema surge quando tento salvar um *.gpgarquivo (depois de fazer algumas alterações). Em seguida, sempre solicito minha senha, duas vezes . (Aliás, esse é um comportamento relativamente novo. Antes, o cache funcionava para descriptografar e criptografar o Emacs.) Da mesma forma, o cache não funciona quando tento criptografar coisas --symmetricdo terminal.
— KJo

Reluto em conceder a recompensa aqui, já que sua resposta não resolveu meu problema e, de qualquer forma, não foi tão detalhada quanto eu esperava.
— KJo

ok .. sem problemas .. não encontrei nenhuma documentação mencionando gpg-agent para usar a senha em cache para criptografia simétrica .. e aqui reddit.com/r/emacs/comments/5skzsu/… é mencionado que "GnuPG 2 intencionalmente (por seus desenvolvedores e pelo desenvolvedor do EPA / EPG) não suporta senhas de cache. Instale o GnuPG 1. Não está relacionado à versão do Emacs. " mas nenhuma referência manual do mencionado aqui .. se possível você pode tentar outras soluções que pode envolver cache do lado emacs ..
— junnu
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.