Voraussetzungen
Bevor du mit dieser Anleitung beginnst, solltest du Artefaktnachweise für deine Builds generieren. Weitere Informationen findest du unter Verwenden von Artefaktnachweisen zur Ermittlung der Herkunft von Builds.
Schritt 1: Herunterladen des Nachweisbundles
Rufe zunächst das Nachweisbundle aus der Nachweis-API ab.
Du kannst dies mit dem folgenden Befehl von einem Computer tun, der eine Online-Verbindung hat:
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
Hier ist eine Beispielausgabe dieses Befehls:
Wrote attestations to file sha256:ae57936def59bc4c75edd3a837d89bcefc6d3a5e31d55a6fa7a71624f92c3c3b.jsonl.
Any previous content has been overwritten
The trusted metadata is now available at sha256:ae57936def59bc4c75edd3a837d89bcefc6d3a5e31d55a6fa7a71624f92c3c3b.jsonl
Schritt 2: Herunterladen von vertrauenswürdigen Stämmen
Rufe als Nächstes das Schlüsselmaterial aus den vertrauenswürdigen Stämmen ab.
Artefaktnachweise verwenden die öffentliche Instanz von Sigstore für öffentliche Repositorys und die Sigstore-Instanz von GitHub für private Repositorys. Du kannst beide vertrauenswürdigen Stämme mit einem Befehl abrufen:
gh attestation trusted-root > trusted_root.jsonl
gh attestation trusted-root > trusted_root.jsonl
Aktualisieren der Informationen zu vertrauenswürdigen Stämmen in einer Offline-Umgebung
Es empfiehlt sich, immer dann eine neue trusted_root.jsonl-Datei zu generieren, wenn du neues signiertes Material in deine Offlineumgebung importierst.
Das Schlüsselmaterial in trusted_root.jsonl hat kein eingebautes Ablaufdatum, sodass alles, was vor der Erstellung der vertrauenswürdigen Stammdatei signiert wurde, weiterhin erfolgreich überprüft wird. Alles, was nach dem Generieren der Datei signiert wurde, wird überprüft, bis die Sigstore-Instance das Schlüsselmaterial rotiert, was in der Regel mehrmals pro Jahr geschieht. Du weißt nicht, ob Schlüsselmaterial widerrufen wurde, seitdem du die vertrauenswürdige Stammdatei zuletzt generiert hast.
Schritt 3: Durchführen der Offlineüberprüfung
Du kannst das Artefakt jetzt offline überprüfen.
Importiere Folgendes in deine Offlineumgebung:
- GitHub CLI
- Dein Artefakt
- Die Bundledatei
- Die vertrauenswürdige Stammdatei
Du kannst dann die Offlineüberprüfung mit dem folgenden Befehl ausführen:
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