GPG - Neuen Key anlegen und mit Git nutzen

Key erzeugen

 gpg --default-new-key-algo rsa4096 --gen-key

Bei Real name anschliessend Vor und Nachname eingeben z. B. Max Mustermann, entsprechend die E-Mail-Adresse.

Anschliessend eine Passphrase vergeben und speichern.

Key-Id auslesen

Um die Key-Id auszulegen setze die SEARCH entsprechend auf deine Mailadresse und führe folgenden Befehl aus:

SEARCH= && export GPG_KEY=$(gpg --list-secret-keys --keyid-format LONG -K $SEARCH | grep sec | awk 'BEGIN {FS="   "}; {print $2}' | awk 'BEGIN {FS=" "}; {print $1}' | awk 'BEGIN {FS="/"}; {print $2}') && echo $GPG_KEY

Nachdem du diesen Command ausgeführt hast wurde dir der Key entsprechend in GPG_KEY als Umgebungsvariable für die aktuelle Shell gesetzt und zusätzlich ausgegeben. Die Umgebungsvariable findet bei den nachfolgenden Commands noch Verwendung. Wenn das nicht klappt kannst du sie manuell auslesen bei sec rsa4096/XXXX, die Übersicht hierfür gibts damit:

gpg --list-secret-keys --keyid-format LONG

GPG-Key publishen (optional)

Falls du deinen öffentlichen Teil deines GPG-Key hochladen möchtest geht das ziemlich simpel mit folgendem Kommando:

gpg --send-keys $GPG_KEY

Git den GPG-Key mitteilen

Damit Git entsprechend unsere Commits signieren kann, müssen wir ihm noch mitteilen welchen Key wir nutzen möchten:

git config --global user.signingkey $GPG_KEY

Wenn du Commits signieren möchtest, musst du entweder immer -S angeben oder du teilst Git mit das er es bei jedem Commit automatisch tun soll:

git config --global commit.gpgsign true

Git-Hoster den GPG-Key mitteilen

Um entsprechend dem GIt-Hoster den GPG-Key mitzuteilen benötigen wir den öffentlichen Key, diesen erhältst du mit folgendem Command:

gpg --armor --export $GPG_KEY