Skip to main content

GitHub AE est actuellement en version limitée.

À propos de la vérification des signatures de commit

En utilisant GPG ou S/MIME, vous pouvez signer des étiquettes localement. Ces étiquettes ou validations (commits) sont marquées comme vérifiées sur GitHub AE afin que d’autres personnes puissent être certaines que les modifications proviennent d’une source approuvée.

À propos de la vérification des signatures de commit

Vous pouvez signer des commits et des étiquettes localement pour renforcer la confiance des autres utilisateurs quant à l’origine d’une modification que vous avez apportée. Si un commit ou une étiquette a une signature GPG ou S/MIME vérifiable par chiffrement, GitHub AE marque le commit ou l’étiquette comme « Vérifié ».

Capture d’écran d’un commit dans la liste de commits d’un dépôt. « Vérifié » est mis en évidence avec un encadré orange.

Si un commit ou une étiquette a une signature qui ne peut pas être vérifié, GitHub AE marque le commit ou l’étiquette comme « Non vérifié ».

Vérification de signature pour le rebasage et la fusion

Lorsque vous utilisez l’option Rebaser et fusionner sur une demande de tirage, il est important de noter que les validations de la branche principale sont ajoutées à la branche de base sans vérification de la signature de validation. Lorsque vous utilisez cette option, GitHub créent une validation modifiée à l’aide des données et du contenu de la validation d’origine. Cela signifie que GitHub n’a pas vraiment créé cette validation et ne peut donc pas la signer en tant qu’utilisateur de système générique. GitHub n’a pas accès aux clés de signature privées du validateur. Il ne peut donc pas signer la validation au nom de l’utilisateur.

Une solution de contournement consiste à rebaser et fusionner localement, puis à envoyer les modifications à la branche de base de la demande de tirage.

Pour plus d’informations, consultez « À propos des méthodes de fusion sur GitHub ».

Les administrateurs de dépôt peuvent appliquer la signature de commit nécessaire sur une branche pour bloquer tous les commits qui ne sont pas signés et vérifiés. Pour plus d’informations, consultez « À propos des branches protégées ».

Vous pouvez consulter l’état de vérification de vos étiquettes ou commits signés sur GitHub AE et voir la raison pour laquelle vos signatures de commit ne son pas vérifiées. Pour plus d’informations, consultez « Contrôle de l’état de la vérification de la signature du commit et de l’étiquette ».

Vérification des signatures de commit GPG

Vous pouvez utiliser GPG pour signer des commits avec une clé GPG que vous générez vous-même.

GitHub AE utilise des bibliothèques OpenPGP pour vérifier que vos commits et étiquettes signés localement sont vérifiables par chiffrement par rapport à une clé publique que vous avez ajoutée à votre compte sur GitHub AE.

Pour signer des commits avec GPG et les faire vérifier sur GitHub AE, effectuez les étapes suivantes :

  1. Vérifier les clés GPG existantes
  2. Générer une nouvelle clé GPG
  3. Ajouter une clé GPG à votre compte GitHub
  4. Informer Git de l’utilisation de votre clé de signature
  5. Signer les commits
  6. Signer les étiquettes

Vérification des signatures de commit S/MIME

Vous pouvez utiliser S/MIME pour signer des commits avec une clé X.509 émise par votre organisation.

GitHub AE utilise le paquet ca-certificates Debian (magasin de confiance utilisé par les navigateurs Mozilla) pour vérifier que vos commits et étiquettes signés localement sont vérifiables par chiffrement par rapport à une clé publique dans un certificat racine approuvé.

Remarque : La vérification de signature S/MIME est disponible dans Git 2.19 ou version ultérieure. Pour mettre à jour votre version de Git, consultez le site web Git.

Pour signer des commits avec S/MIME et les faire vérifier sur GitHub AE, effectuez les étapes suivantes :

  1. Informer Git de l’utilisation de votre clé de signature
  2. Signer les commits
  3. Signer les étiquettes

Vous n’avez pas besoin de charger votre clé publique sur GitHub AE.

Pour aller plus loin