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 :
gh attestation download PATH/TO/YOUR/BUILD/ARTIFACT-BINARY -R ORGANIZATION_NAME/REPOSITORY_NAME
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 :
gh attestation trusted-root > trusted_root.jsonl
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 :
gh attestation verify PATH/TO/YOUR/BUILD/ARTIFACT-BINARY -R ORGANIZATION_NAME/REPOSITORY_NAME --bundle sha256:ae57936def59bc4c75edd3a837d89bcefc6d3a5e31d55a6fa7a71624f92c3c3b.jsonl --custom-trusted-root trusted_root.jsonl
gh attestation verify PATH/TO/YOUR/BUILD/ARTIFACT-BINARY -R ORGANIZATION_NAME/REPOSITORY_NAME --bundle sha256:ae57936def59bc4c75edd3a837d89bcefc6d3a5e31d55a6fa7a71624f92c3c3b.jsonl --custom-trusted-root trusted_root.jsonl