Git error - gpg failed to sign data (MacOS)

less than 1 minute read

포스팅 시간 기준 아래 버전들로 테스트 하였습니다.

macOS Catalina
버전 10.15.4

Issue

Mac용 VS Code에서 GPG를 이용해 commit시 verify를 동시에 할 수 있습니다.

참고 블로그 signing-git

이때 git commit을 이용하다 아래 에러가 발생한 경우

error: gpg failed to sign the data

fatal: failed to write commit object


Git config 확인

$ cat ~/.gitconfig
[user]
        name = xxx
        email = xxx
        signingkey = xxx
        sigingkey = xxx
[gpg]
        program = /usr/local/MacGPG2/bin/gpg2
[commit]
        gpgsign = true

gitconfig 에 있는 key와 Github Account Setting에 있는 GPG key가 동일한지 확인.

$ git config --global user.signingkey xxx

gpg 대신 gpg2가 설정되어 있는지 확인.

$ git config --global gpg.program /usr/local/MacGPG2/bin/gpg2

gpgsign 이 설정되어 있는지 확인.

$ git config --global commit.gpgsign true

Mac용 pinentry 재설치

GPG와 관련된 프로그램 중 pinentry가 없거나 제대로 동작 하지 않는 경우가 있습니다.

$ brew install pinentry

 or

$ brew reinstall pinentry


GPG 재시작

$ gpgconf --kill gpg-agent

Leave a comment