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 AE den Commit oder das Tag als „Überprüft“.
Wenn ein Commit oder ein Tag eine Signatur aufweist, die nicht verifiziert werden kann, markiert GitHub AE 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.
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 Informationen zu geschützten Branches.
Du kannst den Verifizierungsstatus deiner signierten Commits oder Tags auf GitHub AE überprüfen und einsehen, warum deine Commit-Signaturen möglicherweise nicht verifiziert sind. Weitere Informationen findest du unter Verifizierungsstatus der Commit- und Tag-Signaturen.
GPG-Verifizierung einer Commit-Signatur
Du kannst GPG verwenden, um Commits mit einem GPG-Schlüssel zu signieren, den du selbst generierst.
GitHub AE 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 GitHub AE hinzugefügt hast.
Um Commits mit GPG zu signieren und diese Commits auf GitHub AE verifizieren zu lassen, führe die folgenden Schritte aus:
- Nach vorhandenen GPG-Schlüsseln suchen
- Einen neuen GPG-Schlüssel generieren
- Hinzufügen eines GPG-Schlüssels zu deinem GitHub-Konto
- Git über den Signaturschlüssel informieren
- Commits signieren
- 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 AE 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 AE verifizieren zu lassen, führe die folgenden Schritte aus:
Du musst deinen öffentlichen Schlüssel nicht auf GitHub AE hochladen.