Informationen zu privaten Schlüsseln für GitHub Apps
Nach dem Erstellen eines GitHub AppSchlüssels müssen Sie einen privaten Schlüssel generieren, um Anforderungen an die GitHub API als Anwendung selbst zu senden. Beispielsweise benötigst du einen privaten Schlüssel, um ein JSON-Webtoken (JWT) zu signieren, um ein Installationszugriffstoken anzufordern. Weitere Informationen findest du unter Generieren eines JSON-Webtokens (JWT) für eine GitHub App.
Sie können bis zu 25 private Schlüssel für eine App erstellen. Es empfiehlt sich, mehrere Schlüssel zu verwenden, um bei einer Schlüsselkompromittierung die Schlüssel ohne Downtime rotieren zu können. Wenn Ihre Anwendung über 25 oder mehr Schlüssel verfügt, müssen Sie einige löschen, bevor Sie mehr erstellen können.
Private Schlüssel laufen nicht ab und müssen stattdessen manuell widerrufen werden. Weitere Informationen zum Widerrufen oder Löschen eines privaten Schlüssels findest du unter Löschen privater Schlüssel.
Sie müssen die privaten Schlüssel für GitHub Apps sicher aufbewahren. Weitere Informationen findest du unter Speichern privater Schlüssel.
Informationen zum Überprüfen, ob ein privater Schlüssel mit einem öffentlichen Schlüssel übereinstimmt, findest du unter Überprüfen privater Schlüssel.
Generieren privater Schlüssel
So generierst du einen privaten Schlüssel
- Klicke auf GitHub in der oberen rechten Ecke einer beliebigen Seite auf dein Profilfoto.
- Navigieren Sie zu den Einstellungen für Ihr Konto.
- Klicken Sie bei einer App, die zu einem persönlichen Konto gehört, auf Einstellungen.
- Für eine App im Besitz einer Organisation:
- Klicke Sie auf Ihre Organisationen.
- Klicken Sie rechts neben der Organisation auf Einstellungen.
- Klicke in der linken Randleiste auf Developer settings.
- Klicke auf der linken Randleiste auf GitHub Apps .
- Klicken Sie neben GitHub App, für das Sie einen privaten Schlüssel generieren möchten, auf Bearbeiten.
- Klicke unter „Private Schlüssel“ auf Privaten Schlüssel generieren.
- Es wird ein privater Schlüssel im PEM-Format auf deinen Computer heruntergeladen. Achten Sie darauf, diese Datei zu speichern, da GitHub nur den öffentlichen Teil des Schlüssels speichert. Weitere Informationen zum sicheren Speichern deines Schlüssels findest du unter Speichern privater Schlüssel.
Hinweis
Wenn du eine Bibliothek verwendest, die ein bestimmtes Dateiformat erfordert, weist die heruntergeladene PEM-Datei das Format PKCS#1 RSAPrivateKey auf.
Überprüfen privater Schlüssel
GitHub generiert einen Fingerabdruck für jedes private und öffentliche Schlüsselpaar mithilfe der SHA-256-Hashfunktion. Sie können überprüfen, ob Ihr privater Schlüssel mit dem öffentlichen Schlüssel übereinstimmt, auf dem gespeichert GitHub ist, indem Sie den Fingerabdruck Ihres privaten Schlüssels generieren und ihn mit dem auf dem angezeigten GitHubFingerabdruck vergleichen.
So überprüfst du einen privaten Schlüssel
-
Suchen Sie im Abschnitt „Private Schlüssel“ auf der Einstellungsseite für Ihre GitHub App nach dem Fingerabdruck des Schlüsselpaars aus privatem und öffentlichem Schlüssel, das Sie überprüfen möchten. Weitere Informationen findest du unter Generieren privater Schlüssel.

-
Generiere den Fingerabdruck deines privaten Schlüssels (PEM) lokal mithilfe des folgenden Befehls:
openssl rsa -in PATH_TO_PEM_FILE -pubout -outform DER | openssl sha256 -binary | openssl base64 -
Vergleichen Sie den lokal generierten Fingerabdruck mit dem Fingerabdruck, den Sie in GitHub sehen.
Löschen privater Schlüssel
Du kannst einen verlorenen oder kompromittierten privaten Schlüssel entfernen, indem du ihn löschst. Du musst jedoch einen neuen Schlüssel generieren, bevor du den vorhandenen Schlüssel löschen kannst.
- Klicke auf GitHub in der oberen rechten Ecke einer beliebigen Seite auf dein Profilfoto.
- Navigieren Sie zu den Einstellungen für Ihr Konto.
- Klicken Sie bei einer App, die zu einem persönlichen Konto gehört, auf Einstellungen.
- Für eine App im Besitz einer Organisation:
- Klicke Sie auf Ihre Organisationen.
- Klicken Sie rechts neben der Organisation auf Einstellungen.
- Klicke in der linken Randleiste auf Developer settings.
- Klicke auf der linken Randleiste auf GitHub Apps .
- Klicken Sie neben dem GitHub App , für den Sie einen privaten Schlüssel löschen möchten, auf "Bearbeiten".
- Klicke unter „Private Schlüssel“ rechts neben dem privaten Schlüssel, den du löschen möchtest, auf Löschen.
- Wenn du dazu aufgefordert wirst, bestätige, dass du den privaten Schlüssel löschen möchtest, indem du auf Löschen klickst. Wenn Sie GitHub App nur über einen Schlüssel verfügen, müssen Sie einen neuen Schlüssel generieren, bevor Sie den alten Schlüssel löschen. Weitere Informationen findest du unter Generieren privater Schlüssel.
Speichern privater Schlüssel
Der private Schlüssel ist der einzige wertvollste Geheimschlüssel für ein GitHub App. Erwägen Sie, den Schlüssel in einem Schlüsseltresor wie dem Azure Key Vault zu speichern und ihn nur zum Signieren zu verwenden. So lässt sich sicherstellen, dass der private Schlüssel nicht verlorengehen kann. Sobald der private Schlüssel in den Schlüsseltresor hochgeladen ist, kann er dort nie gelesen werden. Er kann nur zum Signieren von Elementen verwendet werden, und der Zugriff auf den privaten Schlüssel wird durch deine Infrastrukturregeln bestimmt.
Alternativ kannst du den Schlüssel als Umgebungsvariable speichern. Dabei ist er nicht so stark geschützt wie beim Speichern in einem Schlüsseltresor. Wenn ein Angreifer Zugriff auf die Umgebung erhält, kann er den privaten Schlüssel lesen und sich dauerhaft als GitHub App authentifizieren.
Du solltest deinen privaten Schlüssel in deiner App auch dann nicht hart codieren, wenn dein Code in einem privaten Repository gespeichert ist.
Weitere Informationen finden Sie unter Bewährte Methoden zum Erstellen einer GitHub-App.