Skip to main content
Wir veröffentlichen regelmäßig Aktualisierungen unserer Dokumentation, und die Übersetzung dieser Seite ist möglicherweise noch nicht abgeschlossen. Aktuelle Informationen findest du in der englischsprachigen Dokumentation.

Informationen zur Verifizierung einer Commit-Signatur

Du kannst Tags und Commits lokal mit GPG oder S/MIME signieren. Diese Tags oder Commits werden auf GitHub Enterprise Server als überprüft gekennzeichnet, sodass andere Personen darauf vertrauen können, dass die Änderungen aus einer vertrauenswürdigen Quelle stammen.

Informationen zur Verifizierung einer Commit-Signatur

Du kannst Commits und Tags lokal signieren, um anderen Personen Sicherheit in Bezug auf den Ursprung einer vorgenommenen Änderung zu geben. Wenn ein Commit oder Tag eine GPG- oder S/MIME-Signatur aufweist, die kryptografisch verifizierbar ist, markiert GitHub Enterprise Server den Commit oder das Tag als „Überprüft“.

Screenshot eines Commits in der Commitliste für ein Repository. „Überprüft“ ist orange umrandet.

Wenn ein Commit oder ein Tag eine Signatur aufweist, die nicht verifiziert werden kann, markiert GitHub Enterprise Server den Commit oder das Tag als „Nicht überprüft“.

Signaturüberprüfung für das Ausführen von Rebases und Mergevorgängen

Wenn du die Option Rebase und Merge für einen Pull Request verwendest, ist es wichtig zu wissen, dass die Commits im Headbranch ohne Überprüfung der Commitsignatur dem Basisbranch hinzugefügt werden. Wenn du diese Option verwendest, erstellt GitHub einen geänderten Commit unter Verwendung der Daten und des Inhalts des ursprünglichen Commits. Das bedeutet, dass GitHub diesen Commit nicht wirklich erstellt hat und ihn daher nicht als generischer Systembenutzer signieren kann. GitHub hat keinen Zugriff auf die privaten Signaturschlüssel des Committers und kann daher den Commit nicht im Auftrag des Benutzers signieren.

Ein Workaround dafür ist, dass du lokal einen Rebase- und Mergevorgang durchführst und die Änderungen dann in den Basisbranch des Pull Requests pushst.

Weitere Informationen findest du unter Informationen zu Merge-Methoden auf GitHub.

Repository-Administratoren können die obligatorische Commit-Signatur auf einem Branch erzwingen, um alle Commits zu blockieren, die nicht signiert und verifiziert sind. Weitere Informationen findest du unter About protected branches.

Du kannst den Verifizierungsstatus deiner signierten Commits oder Tags auf GitHub Enterprise Server überprüfen und einsehen, warum deine Commit-Signaturen möglicherweise nicht verifiziert sind. Weitere Informationen findest du unter Verifizierungsstatus der Commit- und Tag-Signaturen.

Wenn ein Websiteadministrator die Webcommitsignierung aktiviert hat, verwendet GitHub Enterprise Server zum Signieren von Commits, die du über die Webschnittstelle vornimmst, automatisch GPG. Die von GitHub Enterprise Server signierten Commits haben den Status „Überprüft“. Du kannst die Signatur mithilfe des öffentlichen Schlüssels, der unter https://HOSTNAME/web-flow.gpg verfügbar ist, lokal überprüfen. Weitere Informationen findest du unter Konfigurieren der Webcommitsignierung.

GPG-Verifizierung einer Commit-Signatur

Du kannst GPG verwenden, um Commits mit einem GPG-Schlüssel zu signieren, den du selbst generierst.

GitHub Enterprise Server verwendet OpenPGP-Bibliotheken, um zu bestätigen, dass deine lokal signierten Commits und Tags kryptographisch mit einem öffentlichen Schlüssel verifizierbar sind, den du deinem Konto auf deine GitHub Enterprise Server-Instanz hinzugefügt hast.

Um Commits mit GPG zu signieren und diese Commits auf GitHub Enterprise Server verifizieren zu lassen, führe die folgenden Schritte aus:

  1. Nach vorhandenen GPG-Schlüsseln suchen
  2. Einen neuen GPG-Schlüssel generieren
  3. Hinzufügen eines GPG-Schlüssels zu deinem GitHub-Konto
  4. Git über den Signaturschlüssel informieren
  5. Commits signieren
  6. Tags signieren

S/MIME-Verifizierung einer Commit-Signatur

Du kannst S/MIME verwenden, um Commits mit einem von deiner Organisation ausgegebenen X.509-Schlüssel zu signieren.

GitHub Enterprise Server verwendet das Debian-CA-Zertifikatpaket, denselben Trust Store, der auch von Mozilla-Browsern verwendet wird, um zu bestätigen, dass deine lokal signierten Commits und Tags kryptographisch mit einem öffentlichen Schlüssel in einem vertrauenswürdigen Stammzertifikat überprüft werden können.

Hinweis: Die S/MIME-Signaturüberprüfung ist in Git 2.19 oder höher verfügbar. Informationen zum Aktualisieren deiner Version von Git findest du auf der Git-Website.

Um Commits mit S/MIME zu signieren und diese Commits auf GitHub Enterprise Server verifizieren zu lassen, führe die folgenden Schritte aus:

  1. Git über den Signaturschlüssel informieren
  2. Commits signieren
  3. Tags signieren

Du musst deinen öffentlichen Schlüssel nicht auf GitHub Enterprise Server hochladen.

Weiterführende Themen