Skip to main content

Gestion des clés privées pour les applications GitHub

Vous pouvez gérer les clés privées pour vous authentifier auprès de votre GitHub App.

À 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’adresser des requêtes à 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 conserver les clés privées de GitHub Apps en sécurité. 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 :

  1. Dans le coin supérieur droit de n’importe quelle page sur GitHub, cliquez sur votre photo de profil.

  2. 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 :
      1. Cliquez sur Vos organisations.
      2. À droite de l’organisation, cliquez sur Paramètres.
    • Pour une application appartenant à une entreprise :
      1. Cliquez sur Paramètres d’entreprise.
  3. Accédez aux paramètres de l’GitHub App.

    • Pour une application appartenant à un compte personnel ou à une organisation :
      1. Dans la barre latérale gauche, cliquez sur Paramètres du développeur, puis cliquez sur GitHub Apps.
    • Pour une application appartenant à une entreprise :
      1. Dans la barre latérale gauche, cliquez sur Paramètres, puis cliquez sur GitHub Apps.
  4. À côté du GitHub App pour lequel vous souhaitez générer une clé privée, cliquez sur Modifier.

  5. Sous « Clés privées », cliquez sur Générer une clé privée.

  6. 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 en GitHub générant l’empreinte digitale de votre clé privée et en la comparant à l’empreinte digitale affichée sur GitHub.

Pour vérifier une clé privée :

  1. Recherchez l’empreinte digitale de la paire de clés privées et publiques que vous souhaitez vérifier dans la section « Clés privées » de la page paramètres de votre GitHub App. Pour plus d’informations, consultez Génération de clés privées.

    Capture d’écran d’une clé privée dans une page de paramètres GitHub App. L’empreinte digitale, la partie de la clé privée après le signe deux-points, est tracée en orange foncé.

  2. 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
    
  3. Comparez les résultats de l’empreinte digitale générée localement à l’empreinte digitale 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.

  1. Dans le coin supérieur droit de n’importe quelle page sur GitHub, cliquez sur votre photo de profil.

  2. 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 :
      1. Cliquez sur Vos organisations.
      2. À droite de l’organisation, cliquez sur Paramètres.
    • Pour une application appartenant à une entreprise :
      1. Cliquez sur Paramètres d’entreprise.
  3. Dans la barre latérale gauche, cliquez sur Paramètres de développeur.

  4. Dans la barre latérale à gauche, cliquez sur GitHub Apps .

  5. À côté de GitHub App pour lequel vous souhaitez supprimer une clé privée, cliquez sur Modifier.

  6. Sous « Clés privées », à droite de la clé privée que vous souhaitez supprimer, cliquez sur Supprimer.

  7. Lorsque vous y êtes invité, vérifiez que vous souhaitez supprimer la clé privée en cliquant sur Supprimer. Si votre GitHub App clé n’a qu’une seule clé, vous devez générer une nouvelle clé avant de supprimer l’ancienne clé. 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 un 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 accède à l’environnement, il peut lire la clé privée et obtenir l’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 ».