Entwicklung

Gitea Commits mit OpenPGP Key signieren

In diesem Tutorial beschreibe ich euch, wie Ihr mit Gitea Commits mit einem OpenPGP Key signieren könnt. Damit könnt Ihr einfach bestätigen, dass Ihr wirklich der Urheber seit. Das Commit wird dann auch entsprechend in Gitea als signiert angezeigt.

Ich gehe jetzt mal davon aus, dass Ihr bereits ein OpenPGP Key erzeugt habt. Ansonst könnt Ihr im Netz nach einer Anleitung suchen, oder euch das Notwendige aus meinem Tutorial zum Nitrokey Pro 2 herausholen.

Ebenso setze ich voraus, dass Ihr eine Gitea Instanz laufen habt. Eine Anleitung hierfür gibt es hier.

OpenPGP Public Schlüssel ermitteln

In der Konsole können wir mit folgendem Befehl die vorhanden Key anzeigen lassen:

gpg --keyid-format long --list-keys

Das sollte euch alle vorhanden Schlüsseln anzeigen:

pub   rsa2048/AA10842DB9E8432A 2019-05-29 [SC]
      BF63605C4D5AF4F03D2E05CDAA10842DB9E8432A
uid              [ ultimativ ] Hans Wurst <hans.wurst@example.org>
sub   rsa2048/FAE183B64746EEEE 2019-05-29 [E]

Kopiert euch die KeyID, in meinem Fall wäre das „AA10842DB9E8432A„. Nun geben wir mit folgendem Befehl den Public Key aus, wobei Ihr eure KeyID eintragen müsst:

gpg --armor --export AA10842DB9E8432A

Nun Kopiert man sich die Ausgabe komplett und geht in Gitea in die Benutzereinstellungen unter „SSH- / GPG Schlüssel“. Dort fügt man einen neuen GPG Schlüssel hinzu und kopiert den eben ausgegebene Publiy Key in das entsprechende Feld. Auf Gitea Seite sind wir damit nun fertig.

GIT konfigurieren

Damit GIT die Commits signiert müssen wir ein paar Einstellungen auf dem Benutzersystem machen. Mit folgendem Befehl könnt Ihr GIT mittelen, welcher Key benutzt werden soll:

git config --global user.signingkey AA10842DB9E8432A

Hier ist auch wieder eure KeyID zu einzusetzen. Wenn man automatisch alle Commits signieren will muss man noch folgenden Befehl ausführen:

git config --global commit.gpgsign true

Und zuletzt noch:

echo 'export GPG_TTY=$(tty)' >> ~/.profile

Nun kann man Commits anfangen zu signieren (wenn nicht automatisch):

git commit -S -m TEXT
git push

Wenn alles funktioniert hat sollte Ihr in der Gitea Weboberfläche das Commit als signiert sehen.

Signiertes Commit

Abschluss

Hiermit ist dieses Tutorial abgeschlossen. Ich hoffe es war hilfreich für euch! Wenn Ihr mich unterstützen wollt, könnt ihr das sehr gerne hier tun.

1 comment

Leave a Reply

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.