Skip to main content

Überprüfen von Nachweisen offline

Artefaktnachweise können ohne Internetverbindung überprüft werden.

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:

Bash
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:

Bash
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:

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