You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: oci export-layout --cosign-key uses the public Rekor log and timestamp authority by default #62
oci export-layout --cosign-key and oci push --cosign-key sign each trust manifest with cosign sign-blob --yes --key <key> --bundle <file> <payload>. Without --signing-config, cosign v3 uses the public Sigstore signing config (signing_config.v0.2.json in sigstore/root-signing), which lists two services that apply when signing with a key:
Rekor transparency log (https://rekor.sigstore.dev): each signed trust manifest becomes a permanent, public log entry.
Timestamp authority (https://timestamp.sigstore.dev/api/v1/timestamp): the signature's hash is sent to Sigstore for an RFC 3161 timestamp. Nothing is published, but it is still a third-party request.
--yes skips Cosign's confirmation prompt, and nothing in the CLI output or README mentions either service.
Cosign v3 has no --tlog-upload flag on sign-blob; services are selected through the signing config. With an explicit empty signing config (no Rekor or TSA URLs), the bundle has tlogEntries: 0 and no timestamps. With a config listing only the TSA, it has 0 log entries and 1 RFC 3161 timestamp. I did not run the default path, to avoid creating public log entries.
Expected Behavior
Using either service should be an explicit choice, with offline signing as the default. For example:
an option selecting the services (log, timestamp, both, or none), plus a way to pass a custom signing config for private deployments, or
keep the current default but print a clear notice and document it in the README.
Either way, offline signing should be possible without wrapping the cosign binary.
Note that a timestamp is kept only in the Cosign bundle, which the CLI does not store today (#64).
Affected Version
0.3.0, and #61 (aaa5dcb). Observed with cosign v3.1.4.
Inspect the bundle Cosign writes during signing for verificationMaterial.tlogEntries and verificationMaterial.timestampVerificationData (running this creates public entries). Workaround: set AI_CATALOG_COSIGN_BIN to a wrapper that adds --signing-config offline.json to sign-blob, where offline.json is:
changed the title [-][Bug]: oci export-layout --cosign-key publishes to the public Rekor log by default[/-][+][Bug]: oci export-layout --cosign-key uses the public Rekor log and timestamp authority by default[/+]on Nov 5, 2026
Activity
feat!: choose Sigstore services with --sigstore-services
[-][Bug]: oci export-layout --cosign-key publishes to the public Rekor log by default[/-][+][Bug]: oci export-layout --cosign-key uses the public Rekor log and timestamp authority by default[/+]fix!: make Rekor uploads opt-in when signing trust manifests
feat!: choose Sigstore services with --sigstore-services
fix!: make Rekor uploads opt-in when signing trust manifests
feat!: choose Sigstore services with --sigstore-services
feat!: choose Sigstore services when signing, offline by default (#65)