Skip to main content

Überprüfen von Nachweisen offline

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

Einführung

Mit Artefaktnachweisen kannst du fälschungssichere Herkunfts- und Integritätsgarantien für die von dir entwickelte Software erstellen.

Standardmäßig werden Nachweise in der Nachweis-API von GitHub gespeichert, die gh attestation verify beim Überprüfen des Nachweises abfragt. Dieser Befehl kontaktiert auch die Server von GitHub, um nach aktualisiertem Schlüsselmaterial zu suchen, mit dem der Nachweis überprüft werden kann.

Dieser Befehl kann ohne Internetverbindung ausgeführt werden, du musst jedoch das Nachweisbundle und das Schlüsselmaterial manuell im vertrauenswürdigen Stamm bereitstellen.

Bevor du mit dieser Anleitung beginnst, solltest du mit dem Generieren von Artefaktnachweisen vertraut sein. 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 vertrauenswürdiger Stämme

Rufe als Nächstes das Schlüsselmaterial aus den vertrauenswürdigen Stämmen ab.

Artefaktnachweise verwenden die Public Good Instance von Sigstore für öffentliche Repositorys und die Sigstore-Instance von GitHub für private Repositorys. Du kannst einen Befehl verwenden, um beide vertrauenswürdigen Stämme abzurufen:

Bash
gh attestation trusted-root > trusted_root.jsonl

Aktualisieren der Informationen zum vertrauenswürdigen Stamm in einer Offlineumgebung

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 enthält kein integriertes Ablaufdatum, sodass alle vor dem Generieren der vertrauenswürdigen Stammdatei signierten Elemente weiterhin erfolgreich überprüft werden. 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 kannst nicht wissen, ob Schlüsselmaterial seit dem letzten Generieren der vertrauenswürdigen Stammdatei widerrufen wurde.

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

Zusammenfassung

Du überprüfst jetzt Artefaktnachweise in einer Offlineumgebung. Es wird empfohlen, immer dann einen neuen vertrauenswürdigen Stamm zu importieren, wenn du neue signierte Artefakte zu deiner Offlineumgebung hinzufügst..