À propos des clés privées pour GitHub Apps
Après avoir créé une GitHub App, vous devrez générer une clé privée afin d'effectuer des demandes à l'API GitHub en tant qu'application. Par exemple, vous avez besoin d’une clé privée pour signer un jeton web JSON (JWT) afin de demander un jeton d’accès à l’installation. Pour plus d’informations, consultez Génération d’un jeton web JSON (JWT) pour une application GitHub
Vous pouvez créer jusqu’à 25 clés privées pour une application. Vous devez utiliser plusieurs clés pour faire pivoter les clés sans temps d’arrêt en cas de compromission de clé. Si votre application a 25 clés ou plus, vous devez supprimer certaines clés avant de pouvoir en créer davantage.
Les clés privées n’expirent pas et doivent être révoquées manuellement. Pour plus d'informations sur la manière de révoquer ou de supprimer une clé privée, voir « Suppression des clés privées ».
Vous devez sécuriser les clés privées pour les GitHub Apps. Pour plus d’informations, consultez Stockage de clés privées.
Pour vérifier qu’une clé privée correspond à une clé publique, consultez Vérification des clés privées.
Génération de clés privées
Pour générer une clé privée :
-
Dans le coin supérieur droit de n’importe quelle page sur GitHub, cliquez sur votre photo de profil.
-
Accédez aux paramètres de votre compte.
- Pour une application appartenant à un compte personnel, cliquez sur Paramètres.
- Pour une application appartenant à une organisation :
- Cliquez sur Vos organisations.
- À droite de l’organisation, cliquez sur Paramètres.
- Pour une application appartenant à une entreprise :
- Cliquez sur Paramètres d’entreprise.
-
Accédez aux paramètres de l’GitHub App.
- Pour une application appartenant à un compte personnel ou à une organisation :
- Dans la barre latérale gauche, cliquez sur Paramètres du développeur, puis cliquez sur GitHub Apps.
- Pour une application appartenant à une entreprise :
- Dans la barre latérale gauche, cliquez sur Paramètres, puis cliquez sur GitHub Apps.
- Pour une application appartenant à un compte personnel ou à une organisation :
-
En regard de la GitHub App pour laquelle vous souhaitez générer une clé privée, cliquez sur Modifier.
-
Sous « Clés privées », cliquez sur Générer une clé privée.
-
Une clé privée au format PEM est téléchargée sur votre ordinateur. Veillez à stocker ce fichier, car GitHub stocke uniquement la partie publique de la clé. Pour plus d’informations sur le stockage sécurisé de votre clé, consultez « Stockage de clés privées ».
Remarque
Si vous utilisez une bibliothèque qui nécessite un format de fichier spécifique, le fichier PEM que vous téléchargez est au format PKCS#1 RSAPrivateKey.
Vérification des clés privées
GitHub génère une empreinte digitale pour chaque paire de clés privée et publique à l'aide de la fonction de hachage SHA-256. Vous pouvez vérifier que votre clé privée correspond à la clé publique stockée sur GitHub en générant l'empreinte de votre clé privée et en la comparant à l'empreinte affichée sur GitHub.
Pour vérifier une clé privée :
-
Recherchez l’empreinte digitale de la paire de clés privée et publique à vérifier dans la section « Clés privées » de la page des paramètres pour votre GitHub App. Pour plus d’informations, consultez Génération de clés privées.

-
Générez localement l’empreinte digitale de votre clé privée (PEM) à l’aide de la commande suivante :
openssl rsa -in PATH_TO_PEM_FILE -pubout -outform DER | openssl sha256 -binary | openssl base64 -
Comparez les résultats de l'empreinte générée localement à l'empreinte que vous voyez dans GitHub.
Suppression de clés privées
Vous pouvez supprimer une clé privée perdue ou compromise en la supprimant, mais vous devez régénérer une nouvelle clé avant de pouvoir supprimer la clé existante.
-
Dans le coin supérieur droit de n’importe quelle page sur GitHub, cliquez sur votre photo de profil.
-
Accédez aux paramètres de votre compte.
- Pour une application appartenant à un compte personnel, cliquez sur Paramètres.
- Pour une application appartenant à une organisation :
- Cliquez sur Vos organisations.
- À droite de l’organisation, cliquez sur Paramètres.
- Pour une application appartenant à une entreprise :
- Cliquez sur Paramètres d’entreprise.
-
Dans la barre latérale gauche, cliquez sur Paramètres de développeur.
-
Dans la barre latérale à gauche, cliquez sur GitHub Apps .
-
En regard de la GitHub App pour laquelle vous souhaitez supprimer une clé privée, cliquez sur Modifier.
-
Sous « Clés privées », à droite de la clé privée que vous souhaitez supprimer, cliquez sur Supprimer.
-
Lorsque vous y êtes invité, vérifiez que vous souhaitez supprimer la clé privée en cliquant sur Supprimer. Quand votre GitHub App n’a qu’une seule clé, vous devez en générer une nouvelle avant de supprimer l’ancienne. Pour plus d’informations, consultez Génération de clés privées.
Stockage de clés privées
La clé privée est le secret le plus précieux pour une GitHub App. Pensez à stocker la clé dans un coffre-fort de clés, tel que Azure Key Vault, et à le configurer uniquement pour la signature. Cela aide à garantir que vous ne pouvez pas perdre la clé privée. Une fois la clé privée chargée dans le coffre de clés, elle ne peut jamais être lue à partir de là. Elle ne peut être utilisée que pour signer des éléments, et l’accès à la clé privée est déterminé par vos règles d’infrastructure.
Vous pouvez également stocker la clé en tant que variable d’environnement. Cela n'est pas aussi sécurisé que le stockage de la clé dans un coffre-fort de clés. Si un attaquant obtient l’accès à l’environnement, il peut lire la clé privée et obtenir une authentification persistante en tant que GitHub App.
Vous ne devez pas coder en dur votre clé privée dans votre application, même si votre code est stocké dans un dépôt privé.
Pour plus d’informations, consultez « Meilleures pratiques pour la création d’une application GitHub ».