前提条件
このガイドを始める前に、ビルドの成果物構成証明を生成している必要があります。 「アーティファクトの構成証明を使用して構築の実績を確立する」を参照してください。
手順 1: 構成証明バンドルをダウンロードする
まず、構成証明 API から構成証明バンドルを取得します。
これを行うには、オンラインのマシンから次のコマンドを実行します。
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
このコマンドの出力例は次のとおりです。
Wrote attestations to file sha256:ae57936def59bc4c75edd3a837d89bcefc6d3a5e31d55a6fa7a71624f92c3c3b.jsonl.
Any previous content has been overwritten
The trusted metadata is now available at sha256:ae57936def59bc4c75edd3a837d89bcefc6d3a5e31d55a6fa7a71624f92c3c3b.jsonl
手順 2: 信頼されたルートをダウンロードする
次に、信頼されたルートからキー材料を取得します。
アーティファクトの構成証明では、パブリック リポジトリには Sigstore 公益インスタンス、プライベート リポジトリには GitHub の Sigstore インスタンスが使用されます。 1 つのコマンドを使用して、両方の信頼されたルートを取得できます。
gh attestation trusted-root > trusted_root.jsonl
gh attestation trusted-root > trusted_root.jsonl
オフライン環境での信頼されたルート情報の更新
署名済みの新しい素材をオフライン環境にインポートするときは常に、新しい trusted_root.jsonl
ファイルを生成することをお勧めします。
trusted_root.jsonl
のキー材料には満了日が組み込まれていないため、信頼されたルート ファイルを生成する前に署名されたものは引き続き正常に検証されます。 ファイルが生成された後に署名されたものは、Sigstore インスタンスがキー材料をローテーションするまで検証されます。これは通常、1 年に数回発生します。 信頼されたルート ファイルを最後に生成してからキー材料が取り消されたかどうかはわかりません。
手順 3: オフライン検証を実行する
これで、アーティファクトをオフラインで確認する準備ができました。
オフライン環境にインポートする必要があります。
- GitHub CLI
- アーティファクト
- バンドル ファイル
- 信頼されたルート ファイル
その後、次のコマンドを使用してオフライン検証を実行できます。
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