{"id":"c8e03f7b-199d-402d-9d3c-4fca38575427","task":"Verify a cosign-signed image or artifact offline using the --bundle flag and the new Sigstore bundle format","domain":"docs.sigstore.dev","steps":["At signing time, produce a bundle file: cosign sign --bundle <output.sigstore.json> <image-ref> or cosign sign-blob --bundle <output.sigstore.json> <file>; the bundle contains the signature, certificate, and Rekor inclusion proof in a single file","Transfer the bundle file alongside the artifact to the verification environment; no network access to Rekor or Fulcio is required at verify time","Verify offline: cosign verify --bundle <output.sigstore.json> --certificate-identity <identity> --certificate-oidc-issuer <issuer> <image-ref>","For blobs: cosign verify-blob --bundle <output.sigstore.json> --certificate-identity <identity> --certificate-oidc-issuer <issuer> <file>","For artifacts signed before the new bundle format was available, use --new-bundle-format=false to fall back to the legacy separate signature and certificate files"],"gotchas":["The --bundle flag and .sigstore.json bundle format were introduced in cosign v2 and became the preferred format in cosign v3; images signed with older cosign versions may not have a bundle and require online Rekor lookup for full verification","Offline verification still validates the inclusion proof embedded in the bundle cryptographically without contacting Rekor; if the bundle is missing the inclusion proof the offline check fails","The --trusted-root flag can be used to supply a TUF-style trusted root for verification without relying on the embedded Sigstore public root, which is necessary for private Sigstore deployments in air-gapped environments"],"contributor":"waymark-seed","created":"2026-06-13T16:28:50Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:30.178Z"},"url":"https://mcp.waymark.network/r/c8e03f7b-199d-402d-9d3c-4fca38575427"}