Repository navigation
feat(sign): split HOW_TO_VERIFY.txt into an offline integrity check and an online signature check - #195
Merged
Conversation
…nd an online signature check
The instructions mixed a check that needs nothing but sha256sum with ones
that need cosign and, for a keyless signature, the network. They now come
in two labelled parts:
A. Integrity (offline): sha256sum -c against the signed list -- the
files are exactly the release's; needs no network and no cosign.
B. Signature and SBOM attestations (online): verify-blob on the list,
then verify-blob-attestation per image; cosign fetches Sigstore's
trust data on its first run ("offline with this key" for a key
signature made without the transparency log).
It says that A alone does not show the list is genuine, and that B needs
only the small files (the list and the .sigstore.json bundles), not the
images -- so an air-gapped site can run A there and B on any connected
machine. test_projsign.sh checks each command sits in its part and still
runs every command from the file (68/68; 8 fail on the previous layout).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Signed-off-by: Lee, ChienPang <[email protected]>
Eandalf-Bigstack
force-pushed
the
feat/howtoverify-offline-online
branch
from
October 15, 2026 03:58
cf156f2 to
814b284
Compare
Eandalf-Bigstack
approved these changes
Oct 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What type of PR is this?
/kind feature
What this PR does / why we need it
<release>_HOW_TO_VERIFY.txt(make howtoverify, #186) mixed a check that needs nothing butsha256sumwith checks that need cosign and, for a keyless signature, the network. Customers at sites without Internet access couldn't tell which parts they could run there. The instructions now come in two labelled parts:A. Integrity (offline):
sha256sum -c --ignore-missing <release>_SHA256SUMS. The files are exactly the ones in the release's signed list. It needs no network and no cosign, and catches a corrupted, incomplete or altered download.B. Signature and SBOM attestations (online):
cosign verify-blobon the list.cosign verify-blob-attestationfor each image.cosign fetches Sigstore's trust data on its first run. For a key signature made without the transparency log (test builds), the heading reads "offline with this key".
The file also says that A alone doesn't show the list is genuine; B does. B needs only the small files (the list and the
.sigstore.jsonbundles), not the images. So an air-gapped site runs A on site and B on any connected machine.Which issue(s) this PR fixes
Part of bigstack-oss/cubecos-private#219
Special notes for your reviewer
Note
Verified locally:
test_projsign.sh, 68/68. It checks:8 checks fail against the previous layout.
The offline/online split matches what was measured on cubecos-private#220:
sha256sum -chas no network use; keylessverify-blobwithout a trusted root fails at once with no network ("tuf refresh failed").Not verified: a real publish producing the new file. The next signed publish will, through triangle#181.
Additional documentation
Cubecos: bigstack-oss/cubecos#1811. Handbook: bigstack-oss/bigstack-handbook#950 updates
release-how-to-verify-file.mdto the A/B parts.🤖 Generated with Claude Code