I installed GPG from brew.
brew install gpg It is gnupg2-2.0.30_2.
When I commit, I do get a error message:
You need a passphrase to unlock the secret key for user: "Max Mustermann (mycomment) <[email protected]>" 2048-bit RSA key, ID 1111AAAA, created 2017-01-05 error: gpg failed to sign the data fatal: failed to write commit object I used the command:
gpg --list-secret-keys | grep ^sec and it gives me back:
sec 2048R/1111AAAA 2017-01-05 Then I used this command:
git config --global user.signingkey 1111AAAA commit gives me back the same error message.
How can I solve this problem?
After you receive a public key from somebody, you can import into your keychain. Select Import from the menu in GPG Keychain Access and select the public key that was sent to you. After importing a public key, you should verify that the key actually belongs to the person that you believe it belongs to.
You can disable this by running git config commit. gpgsign false This sets the configuration locally instead of globally.
If you’re not getting prompted at all for a passphrase, the solution may just be to install a program to facilitate that. The most common is pinentry.
brew install pinentry-mac So installing that and trying again may get things working. But if not, another thing to do is make sure git it using/finding the right GPG program. These days you really should be using gpg2, so if you don’t already have that installed, do:
brew install gnupg2 And then, to tell git that’s the GPG program want to you, this:
git config --global gpg.program gpg2 At that point, try your commit again and things may just work.
But if not, then try this:
echo "pinentry-program /usr/local/bin/pinentry-mac" >> ~/.gnupg/gpg-agent.conf …or, more robustly:
echo "pinentry-program $(which pinentry-mac)" >> ~/.gnupg/gpg-agent.conf …and then try again.
And you may also need to stop gpg-agent:
gpgconf --kill gpg-agent You don’t need to manually restart it — it will get restarted automatically when it’s needed.
Note: Some comments below mention needing to reboot after making changes — but it seems likely the only effect that has it is to cause gpg-agent to be restarted. So manually killing gpg-agent as described above should be sufficient.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With