Wie kann ich in Sublime Merge einen Commit signieren und die Signatur überprüfen?

Melden
  1. Einleitung
  2. Voraussetzungen für das Signieren von Commits
  3. GPG-Schlüssel in Git konfigurieren
  4. Commit signieren direkt in Sublime Merge
  5. Signaturen in Sublime Merge überprüfen
  6. Öffentliche Schlüssel importieren und Signaturen validieren
  7. Zusammenfassung

Einleitung

Sublime Merge ist ein beliebter Git-Client, der durch seine Einfachheit und mächtige Funktionen überzeugt. Eine wichtige Sicherheitsfunktion bei Git ist die Möglichkeit, Commits zu signieren, um die Authentizität und Integrität der Änderungen zu gewährleisten. Ebenso ist es unerlässlich, Signaturen zu überprüfen, um sicherzustellen, dass die Commits wirklich vom angegebenen Autor stammen und nicht manipuliert wurden. Diese Anleitung erklärt ausführlich, wie man in Sublime Merge Commit-Signaturen mit GPG erstellt und wie man diese Signaturen innerhalb der Anwendung überprüfen kann.

Voraussetzungen für das Signieren von Commits

Bevor man in Sublime Merge Commits signieren kann, muss man sicherstellen, dass GPG (GNU Privacy Guard) auf dem System installiert und korrekt eingerichtet ist. GPG ermöglicht das Erstellen von kryptographischen Schlüsselpaaren, die für das Signieren und die Verifikation benötigt werden. Außerdem sollte der Git-Benutzername und die E-Mail-Adresse so konfiguriert sein, dass sie mit dem im GPG-Schlüssel verwendeten übereinstimmen, da dies für eine passende Signatur wichtig ist.

Nach der Installation von GPG erzeugt man ein Schlüsselpaar mit dem Befehl gpg --full-generate-key in der Kommandozeile. Dabei folgt man den Anweisungen, um Name, E-Mail und Passphrase zu vergeben. Um die vorhandenen Schlüssel anzeigen zu lassen, verwendet man gpg --list-secret-keys --keyid-format LONG. Die lange Key-ID benötigt man, um Git mitzuteilen, welchen Schlüssel es zum Signieren benutzen soll.

GPG-Schlüssel in Git konfigurieren

Nachdem das GPG-Schlüsselpaar erstellt ist, muss Git konfiguriert werden, damit beim Committen die Signatur automatisch hinzugefügt wird. Dazu setzt man die GPG-Schlüssel-ID in der globalen Git-Konfiguration. Dies erfolgt über den Befehl git config --global user.signingkey <GPG-Key-ID>, wobei <GPG-Key-ID> durch die eigene, lange Schlüssel-ID ersetzt wird. Zusätzlich aktiviert man das automatische Signieren von Commits mit git config --global commit.gpgsign true. Mit diesen Einstellungen erzeugt Git bei jedem Commit eine Signatur, sofern die nötigen Voraussetzungen erfüllt sind.

Es ist ebenfalls ratsam zu prüfen, dass GPG richtig vom System ansprechbar ist und gegebenenfalls den Pfad zum GPG-Programm in Git zu hinterlegen, falls Sublime Merge oder Git den Standardpfad nicht finden. Dies kann in der Git-Konfiguration mit git config --global gpg.program <Pfad-zu-gpg> geschehen.

Commit signieren direkt in Sublime Merge

Nachdem GPG eingerichtet und Git konfiguriert ist, kann man in Sublime Merge einen Commit signieren. Wenn in der globalen Git-Konfiguration das automatische Signieren aktiviert wurde, werden alle Commits, die in Sublime Merge angelegt werden, bereits standardmäßig signiert. Beim Erstellen eines Commits im linken Bereich Changes kann man die Commit-Nachricht schreiben wie gewohnt und den Commit finalisieren. Falls das Passwort für den GPG-Schlüssel abgefragt wird, gibt man es ein, um die Signierung abzuschließen.

Falls man das automatische Signieren nicht global aktivieren möchte, kann man vor dem Commit in der Kommandozeile mit git commit -S signieren. Da Sublime Merge Git als Backend nutzt, kann man auch externe Tools zum Signieren verwenden. Jedoch bietet Sublime Merge keine spezifische GUI-Option, um beim Commit direkt die Signierung ein- oder auszuschalten – es verlässt sich hier auf die Git-Konfiguration und den GPG-Setup.

Signaturen in Sublime Merge überprüfen

Sobald man einen signierten Commit in Sublime Merge ansieht, zeigt das Programm automatisch einen Hinweis auf die Signatur an. Im Commit-Detail-Fenster sieht man neben dem Commit-Hash kleine Symbole oder Markierungen, die die Signatur darstellen. Ein grünes Schild oder ein grüner Haken zeigt an, dass die Signatur gültig und verifiziert ist. Sollte die Signatur ungültig sein oder nicht verifiziert werden können, erscheint eine Warnung oder ein rotes Symbol.

Um die genauen Details der Signatur einzusehen, kann man auf das Symbol klicken oder den Bereich mit den Commit-Informationen erweitern. Dort findet man Angaben zum Signierer (Name, E-Mail), zur Signatur, zum verwendeten Schlüssel sowie mögliche Fehlermeldungen, wenn die Verifikation nicht erfolgreich war. Sublime Merge nutzt die auf dem System hinterlegte GPG-Konfiguration, um die Signaturen zu prüfen. Deshalb müssen die öffentlichen Schlüssel der Signierer im lokalen GPG-Schlüsselbund importiert sein, um eine erfolgreiche Verifikation zu ermöglichen.

Öffentliche Schlüssel importieren und Signaturen validieren

Wenn Sublime Merge eine Signatur nicht verifizieren kann, liegt das meistens daran, dass der öffentliche Schlüssel des Signierenden nicht im lokalen GPG-Schlüsselbund vorhanden ist. Um den Schlüssel zu importieren, ruft man den Schlüssel beim jeweiligen Entwickler ab (zum Beispiel von einem Keyserver oder per E-Mail) und importiert ihn mit dem Befehl gpg --import <öffentlicher-schlüssel>. Nach dem Import lädt man den Schlüssel in das vertrauenswürdige Schlüsselsystem, damit die Signatur als gültig angezeigt wird.

Nach dem Import sollte man in Sublime Merge den Commit neu laden, damit die Signaturprüfung erneut durchgeführt wird und die Verifikation korrekt dargestellt wird. Wichtig ist auch, dass Sublime Merge und Git auf die gleiche GPG-Installation zugreifen und Pfade stimmen, um Fehlermeldungen zu vermeiden.

Zusammenfassung

Zusammengefasst setzt das Signieren von Commits in Sublime Merge ein korrekt eingerichtetes GPG-Schlüsselpaar und eine passende Git-Konfiguration voraus, damit automatisch signierte Commits erzeugt werden. Die Überprüfung der Signatur erfolgt automatisch in der Benutzeroberfläche von Sublime Merge und informiert den Benutzer durch Symbole und Details, ob die Signatur gültig ist. Bei Problemen mit der Verifikation sollten öffentliche Schlüssel importiert und die GPG-Konfiguration überprüft werden. Somit bietet Sublime Merge eine komfortable Möglichkeit, die Sicherheit und Authentizität von Git-Commits mittels Signaturen zu gewährleisten.

0

Kommentare