Skip to main content

Vérification des attestations hors connexion

Vous pouvez vérifier les attestations d’artefact sans connexion Internet.

Prérequis

Avant de commencer ce guide, vous devez générer des attestations d'artefacts pour vos builds. Consultez « Utilisation des attestations d’artefacts pour établir la provenance des builds ».

Étape 1 : Télécharger le bundle d’attestation

Tout d’abord, obtenez le bundle d’attestation à partir de l’API d’attestation.

Vous pouvez le faire avec la commande suivante à partir d’un ordinateur en ligne :

Bash
gh attestation download PATH/TO/YOUR/BUILD/ARTIFACT-BINARY -R ORGANIZATION_NAME/REPOSITORY_NAME

Voici un exemple de sortie de cette commande :

Wrote attestations to file sha256:ae57936def59bc4c75edd3a837d89bcefc6d3a5e31d55a6fa7a71624f92c3c3b.jsonl.
Any previous content has been overwritten

The trusted metadata is now available at sha256:ae57936def59bc4c75edd3a837d89bcefc6d3a5e31d55a6fa7a71624f92c3c3b.jsonl

Étape 2 : Télécharger les racines de confiance

Ensuite, récupérez le matériel de clé à partir des racines de confiance.

Les attestations d'artefact utilisent l'instance publique Sigstore pour les référentiels publics et l'instance Sigstore de GitHub pour les référentiels privés. Vous pouvez utiliser une seule commande pour récupérer les deux racines de confiance :

Bash
gh attestation trusted-root > trusted_root.jsonl

Mise à jour des informations racines approuvées dans un environnement hors connexion

Il est recommandé de générer un nouveau fichier trusted_root.jsonl chaque fois que vous importez de nouveaux documents signés dans votre environnement hors connexion.

Le matériel clé dans trusted_root.jsonl n’a pas de date d’expiration intégrée. Par conséquent, tout ce qui a été signé avant de générer le fichier racine de confiance continuera à être vérifié avec succès. Tout élément signé après la génération du fichier sera vérifié jusqu’à ce que cette instance Sigstore fasse tourner son matériel de clé, ce qui se produit généralement quelques fois par an. Vous ne saurez pas si du matériel de clé a été révoqué depuis la dernière fois que vous avez généré le fichier de racine de confiance.

Étape 3 : Effectuer la vérification hors connexion

Vous pouvez maintenant vérifier l’artefact hors connexion.

Dans votre environnement hors connexion, vous devez importer :

  • GitHub CLI
  • Votre artefact
  • Le fichier de bundle
  • Le fichier racine approuvé

Vous pouvez ensuite effectuer une vérification hors connexion avec la commande suivante :

Bash
gh attestation verify PATH/TO/YOUR/BUILD/ARTIFACT-BINARY -R ORGANIZATION_NAME/REPOSITORY_NAME --bundle sha256:ae57936def59bc4c75edd3a837d89bcefc6d3a5e31d55a6fa7a71624f92c3c3b.jsonl --custom-trusted-root trusted_root.jsonl