14. November 2018

Git-Commit signieren schlägt fehl mit "invalid packet"

Wie man seine Commits signiert, ist eigentlich bei GitHub ganz gut beschrieben. Allerdings wollte es bei mir dennoch nicht klappen. Beim Commit gab es immer für mich recht unverständliche Fehler:

$ git commit -a
gpg: [don't know]: invalid packet (ctb=2d)
gpg: keydb_search failed: Invalid packet
gpg: skipped "AE8F0DC4646230BF": Invalid packet
gpg: signing failed: Invalid packet
error: gpg failed to sign the data
fatal: failed to write commit object


Die Lösung habe ich schließlich als Teil einer Antwort bei Stackoverflow gefunden (wo sonst): ich hatte zwar wunderbar Gpg4Win installiert, den Schlüssel erzeugt, in der .gitconfig registriert und auch gpgsign=true gesetzt, aber Git hat immer das falsche gpg-Executable verwendet.

Das hier brachte dann die Abhilfe:

git config --global gpg.program "c:\Program Files (x86)\GnuPG\bin\gpg.exe"

Happy signing!