Cache la passphrase GPG per la firma git su Mac
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
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