Cache la passphrase GPG per la firma git su Mac

Nov 11 2020

C'è già un thread più generico sull'argomento, Ricorda la password GPG quando firmi i commit di git , ma la risposta lì non funziona per me. Il mio ambiente è:

  • Mac ([email protected])
  • Bash (l'impostazione predefinita fornita con macOS)
  • Git v2.27.0
  • GnuPG v2.2.20 (libgcrypt 1.8.5)

Ho installato GnuPG tramite Homebrew e ho scritto le seguenti impostazioni nel ~/.gnupg/gpg-agent.conffile:

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

Ma la cache non viene applicata. Ogni dieci minuti circa dopo aver fatto un git commit, gpg mi chiede di inserire di nuovo la password.

Questo è il mio .gitignorefile globale :

[commit]
    gpgSign = true

Cosa mi manca?

Risposte

1 Marco Nov 11 2020 at 16:35

Nella mia configurazione personale ho aggiunto la signingkey alla sezione utente.

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

[commit]
gpgSign = true

Inoltre ho i seguenti plugin in oh-my-zsh. ( ~/.zshrc)

plugins=(git keychain gpg-agent)

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

Questo plugin avvia un agente per le mie chiavi ssh e gpg.

Inoltre ho aggiunto il seguente file

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

Per Bash potresti aggiungere quanto segue al tuo file ~/.bashrc.

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