Senha de cache GPG para assinatura git no Mac

Nov 11 2020

Já existe um tópico mais genérico sobre o assunto, Lembre-se de senha GPG ao assinar git commits , mas a resposta não funciona para mim. Meu ambiente é:

  • Mac ([email protected])
  • Bash (o padrão que vem com o macOS)
  • Git v2.27.0
  • GnuPG v2.2.20 (libgcrypt 1.8.5)

Instalei o GnuPG através do Homebrew e escrevi as seguintes configurações no ~/.gnupg/gpg-agent.confarquivo:

default-cache-ttl 1209600 # 14 days
max-cache-ttl 31536000 # 1 year

Mas o cache não é aplicado. A cada dez minutos ou mais depois de fazer um git commit, o gpg me pede para inserir a senha novamente.

Este é meu .gitignorearquivo global :

[commit]
    gpgSign = true

o que estou perdendo?

Respostas

1 Marco Nov 11 2020 at 16:35

Em minha configuração pessoal, adicionei a chave de assinatura à seção do usuário.

[user]
name = "Marco Franssen"
email = "[email protected]"
signingkey = 63B0C3B53E26....

[commit]
gpgSign = true

Além disso, tenho os seguintes plug-ins no oh-my-zsh. ( ~/.zshrc)

plugins=(git keychain gpg-agent)

zstyle :omz:plugins:keychain agents ssh,gpg
zstyle :omz:plugins:keychain identities id_rsa 63B0C3B53E2....

Este plugin inicializa um agente para minhas chaves ssh e gpg.

Além disso, adicionei o seguinte arquivo

$ cat ~/.gnupg/gpg-agent.conf
default-cache-ttl 3600

Para o Bash, você pode adicionar o seguinte ao seu ~/.bashrc.

https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/gpg-agent/gpg-agent.plugin.zsh