Wollte einen Git Tag signieren auf einem Raspberry Pi W Zero. Nach der Key Erzeugung (gpg –gen-key) schlug das signieren des git tags mit -s:
1 |
git tag -s v1.0.1 -m 'Erster signierter Tag' |
mit folgender Fehlermeldung fehl:
gpg: signing failed: Unpassender IOCTL (I/O-Control) für das Gerät
gpg: signing failed ioctl
Ein erster Test mit:
1 |
echo "test" | gpg --clearsign |
schlug auch fehlt. Eine Kontrolle der Config (.gitconfig) mit:
1 |
git config -l |
hat auch alle relevanten Einträge angezeigt:
user.name=Thomas Wenzlaff
user.email=pi-lehrgang@wenzlaff.de
user.signingkey=FEC823F044525328B2CA20352AB54AA20ECBF41B
commit.gpgsign=true
tag.gpgsign=true
Nach einigem suchen im Internet und validieren hat das setzen der GPG_TTY Variable bei mir geholfen:
1 2 |
GPG_TTY=$(tty) export GPG_TTY |
Damit das auch nach einem reboot weiterhin läuft, diese beiden Zeilen in der .bashrc Datei hinzufügen. Sonst kommt diese Meldung oder ähnlich:
Dann den ersten Tag wie oben beschrieben angelegt und angezeigt mit:
1 |
git show v1.0.1 |
man kann gut die PGP Signatur am tag erkennen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
pi@pi-zero:~/Git-Pi-Anleitung $ git show v1.0.1 tag v1.0.1 Tagger: Thomas Wenzlaff <pi-lehrgang@wenzlaff.de> Date: Tue Sep 11 18:56:09 2018 +0000 Erster signierter Tag -----BEGIN PGP SIGNATURE----- iQEyBAABCAAdFiEE/sgj8ERSUyiyyiA1KrVKog7L9BsFAluYD8kACgkQKrVKog7L 9Btf8gf1HfbN1OfxR1NZLWK1Nm3zft7OwMvQKgyhVYwJVvBECLEFJo/xJ9KnQnTF 4KMXT2csYNJNf0lAZMiWqD+VB98gBDygUTzwmnWdAO05YK1dH9Je1qKpnkuheYzo npkNQPS7DKCzY0xpOR8jL8SFIOxeTJeQJ5JtdnYFXyaUghvrv4m7SQLE9r09qPeY uRJXMHq3L2UkZ2gFSd/D2FMPGtgcLob5gTp5vTeOSWVPR8WPsbHcM50qJl+Z4n7s jQAesN88JOkZJeS3hCmAnv5AMqFT6MTRBKAk2ZLI4xAfMmvPE3t8lU8/cmsgXqbN xEJd/MmExIIV+e+f67v6hl93RDqc =Yn1H -----END PGP SIGNATURE----- |
Dann können wir ja auch gleich mal die Signatur des Git Tags validieren mit -v
1 |
git tag -v v1.0.1 |
und siehe da, alles ok:
1 2 3 4 5 6 7 8 9 |
object 191c2adfb0f891c88e8489a0503ca4a1b9cce085 type commit tag v1.0.1 tagger Thomas Wenzlaff <pi-lehrgang@wenzlaff.de> 1536692169 +0000 Erster signierter Tag gpg: Signature made Di 11 Sep 2018 18:56:09 UTC gpg: using RSA key FEC823F044525328B2CA20352AB54AA20ECBF41B gpg: Good signature from "Thomas Wenzlaff <pi-lehrgang@wenzlaff.de>" [ultimate] |
Ok, dann wollen wir auch noch gleich das signieren von commits testen. Ein erster commit mit Parameter -S
1 |
git commit -a -S -m 'Erster signierter Commit' |
Es kommt dann der Dialog wo das Passwort für den Key eingegeben werden muss:
Ok, der commit war erfolgreich. Das wollen wir gleich mal testen mit
1 |
git show |
Oder auch um die letzte Signatur anzuschauen:
1 |
git log --show-signature -1 |
Auch eine Tabelle mit allen commits kann man sich schön formatiert ausgeben lassen mit log, wobei die signierten Einträge mit G in der zweiten Spalte gekennzeichnet sind:
1 |
git log --pretty="format:%h %G? %aN %s" |
Dann auch noch die Signatur für den commit anschauen
1 |
git log --show-signature -1 |