Senha de cache GPG para assinatura git no Mac
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
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