# Cosign verification fixtures

`cosign-v3.0.6-legacy-simple-signing.json` is the JSON written to stdout by the
content-pinned Cosign v3.0.6 verifier after a real sign and verify round trip
against an isolated OCI registry, formatted with `jq` without changing any
field value. The ephemeral signing key and registry are not release authorities;
the fixture freezes only the verified payload grammar consumed by this package.

The round trip explicitly selected the repository's payload contract on both
operations:

```text
cosign sign \
  --use-signing-config=false \
  --new-bundle-format=false \
  --tlog-upload=false \
  --sign-container-identity=ghcr.io/pingcap-inc/nexuscrm-api-host-gateway \
  --key <ephemeral-key> \
  <annotations> <local-registry-image@digest>

cosign verify \
  --new-bundle-format=false \
  --insecure-ignore-tlog \
  --key <ephemeral-public-key> \
  <annotations> <local-registry-image@digest>
```

The fixture must be regenerated through a real round trip when the pinned
Cosign version or the selected payload format changes. A hand-authored fake
Cosign payload is not evidence that the publisher and verifier interoperate.

`cosign-v3.0.6-slsa-v1-attestation.json` is exact legacy DSSE output from the
same content-verified Cosign release using `attest --no-upload=true
--new-bundle-format=false --type slsaprovenance1`, an ephemeral local P-256 key,
and the immutable distroless base image. It fixes the real Cosign statement
envelope (`in-toto Statement/v0.1`), SLSA v1 predicate type, payload encoding,
and signature-array shape consumed after `cosign verify-attestation`. The
custom verifier never treats this fixture signature as authority; production
cryptographic verification remains Cosign's responsibility before Go parses
the evidence.
