Skip to content

Releases: sigstore/cosign

v2.6.0

12 Sep 20:55
v2.6.0
37fbfc7
Compare
Choose a tag to compare

v2.6.0 introduces a number of new features, including:

  • Signing an in-toto statement rather than Cosign constructing one from a predicate, along with verifying a statement's subject using a digest and digest algorithm rather than providing a file reference (#4306)
  • Uploading a signature and its verification material (a "bundle") as an OCI Image 1.1 referring artifact, completing #3927 (#4316)
  • Providing service URLs for signing and attesting using a SigningConfig. Note that this is required when using a Rekor v2 instance (#4319)

Example generation and verification of a signed in-toto statement:

cosign attest-blob --new-bundle-format=true --bundle="digest-key-test.sigstore.json" --key="cosign.key" --statement="../sigstore-go/examples/sigstore-go-signing/intoto.txt"
cosign verify-blob-attestation --bundle="digest-key-test.sigstore.json" --key=cosign.pub --type=unused --digest="b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9" --digestAlg="sha256"

Example container signing and verification using the new bundle format and referring artifacts:

cosign sign --new-bundle-format=true ghcr.io/user/alpine@sha256:a19367999603840546b8612572e338ec076c6d1f2fec61760a9e11410f546733
cosign verify --new-bundle-format=true ghcr.io/user/alpine@sha256:a19367999603840546b8612572e338ec076c6d1f2fec61760a9e11410f546733

Example usage of a signing config provided by the public good instance's TUF repository:

cosign sign-blob --use-signing-config --bundle sigstore.json README.md
cosign verify-blob --new-bundle-format --bundle sigstore.json --certificate-identity $EMAIL --certificate-oidc-issuer $ISSUER --use-signed-timestamps README.md

v2.6.0 leverages sigstore-go's signing and verification APIs gated behind these new flags. In an upcoming major release, we will be
updating Cosign to default to producing and consuming bundles to align with all other Sigstore SDKs.

Features

  • Add to attest-blob the ability to supply a complete in-toto statement, and add to verify-blob-attestation the ability to verify with just a digest (#4306)
  • Have cosign sign support bundle format (#4316)
  • Add support for SigningConfig for sign-blob/attest-blob, support Rekor v2 (#4319)
  • Add support for SigningConfig in sign/attest (#4371)
  • Support self-managed keys when signing with sigstore-go (#4368)
  • Don't require timestamps when verifying with a key (#4337)
  • Don't load content from TUF if trusted root path is specified (#4347)
  • Add a terminal spinner while signing with sigstore-go (#4402)
  • Require exclusively a SigningConfig or service URLs when signing (#4403)
  • Remove SHA256 assumption in sign-blob/verify-blob (#4050)
  • Bump sigstore-go, support alternative hash algorithms with keys (#4386)

Breaking API Changes

  • sign.SignerFromKeyOpts no longer generates a key. Instead, it returns whether or not the client needs to generate a key, and if so, clients
    should call sign.KeylessSigner. This allows clients to more easily manage key generation.

Bug Fixes

  • Verify subject with bundle only when checking claims (#4320)
  • Fixes to cosign sign / verify for the new bundle format (#4346)

Full Changelog: v2.5.3...v2.6.0

v2.5.3

17 Jul 20:21
v2.5.3
488ef8c
Compare
Choose a tag to compare

Changelog

  • 488ef8c Add signing-config create command (#4280)
  • 722207e Allow multiple services to be specified for trusted-root create (#4285)
  • 2ee22fc force when copying the latest image to overwrite (#4298)
  • 86560e1 Fix cert verification logic for trusted-root/SCTs (#4294)
  • 9f3b013 Fix lint error for types package (#4295)
  • 3b3c0fc feat: Add OCI 1.1+ experimental support to tree (#4205)
  • 49c8d78 Add validity period end for trusted-root create (#4271)
  • ba8214e avoid double-loading trustedroot from file (#4264)

Thanks to all contributors!

v2.5.2

18 Jun 00:47
v2.5.2
af5a988
Compare
Choose a tag to compare

Changelog

  • b126109 Do not load trusted root when CT env key is set
  • 19ef59d docs: improve doc for --no-upload option (#4206)

Thanks to all contributors!

v2.5.1

16 Jun 18:41
v2.5.1
a7345fb
Compare
Choose a tag to compare

v2.5.1

Features

  • Add Rekor v2 support for trusted-root create (#4242)
  • Add baseUrl and Uri to trusted-root create command
  • Upgrade to TUF v2 client with trusted root
  • Don't verify SCT for a private PKI cert (#4225)
  • Bump TSA library to relax EKU chain validation rules (#4219)

Bug Fixes

  • Bump sigstore-go to pick up log index=0 fix (#4162)
  • remove unused recursive flag on attest command (#4187)

Docs

  • Fix indentation in verify-blob cmd examples (#4160)

Releases

  • ensure we copy the latest tags on each release (#4157)

v2.5.0

07 Apr 22:55
v2.5.0
38bb986
Compare
Choose a tag to compare

v2.5.0 includes an implementation of the new bundle specification,
attesting and verifying OCI image attestations uploaded as OCI artifacts.
This feature is currently gated behind the --new-bundle-format flag
when running cosign attest.

Features

  • Add support for new bundle specification for attesting/verifying OCI image attestations (#3889)
  • Feat/non filename completions (#4115)
  • Add TSA certificate related flags and fields for cosign attest (#4079)

Fixes

  • cmd/cosign/cli: fix typo in ignoreTLogMessage (#4111)
  • Fix replace with compliant image mediatype (#4077)

v2.4.3

19 Feb 20:02
v2.4.3
6a7abbf
Compare
Choose a tag to compare

v2.4.3

Features

  • Bump sigstore/sigstore to support KMS plugins (#4073)
  • Enable fetching signatures without remote get. (#4047)
  • Feat/file flag completion improvements (#4028)
  • Update builder to use go1.23.6 (#4052)

Bug Fixes

  • fix parsing error in --only for cosign copy (#4049)

Cleanup

  • Refactor verifyNewBundle into library function (#4013)
  • fix comment typo and imports order (#4061)
  • sync comment with parameter name in function signature (#4063)
  • sort properly Go imports (#4071)

Contributors

  • Bob Callaway
  • Carlos Tadeu Panato Junior
  • Cody Soyland
  • Dmitry Savintsev
  • Hayden B
  • Tomasz Janiszewski
  • Ville Skyttä

v2.4.2

04 Feb 20:23
b6df9c7
Compare
Choose a tag to compare

Features

  • Updated open-policy-agent to 1.1.0 library (#4036)
    • Note that only Rego v0 policies are supported at this time
  • Add UseSignedTimestamps to CheckOpts, refactor TSA options (#4006)
  • Add support for verifying root checksum in cosign initialize (#3953)
  • Detect if user supplied a valid protobuf bundle (#3931)
  • Add a log message if user doesn't provide --trusted-root (#3933)
  • Support mTLS towards container registry (#3922)
  • Add bundle create helper command (#3901)
  • Add trusted-root create helper command (#3876)

Bug Fixes

  • fix: set tls config while retaining other fields from default http transport (#4007)
  • policy fuzzer: ignore known panics (#3993)
  • Fix for multiple WithRemote options (#3982)
  • Add nightly conformance test workflow (#3979)
  • Fix copy --only for signatures + update/align docs (#3904)

Documentation

  • Remove usage.md from spec, point to client spec (#3918)
  • move reference from gcr to ghcr (#3897)

Contributors

  • AdamKorcz
  • Aditya Sirish
  • Bob Callaway
  • Carlos Tadeu Panato Junior
  • Cody Soyland
  • Colleen Murphy
  • Hayden B
  • Jussi Kukkonen
  • Marco Franssen
  • Nianyu Shen
  • Slavek Kabrda
  • Søren Juul
  • Warren Hodgkinson
  • Zach Steindler

v2.4.1

03 Oct 18:02
9a4cfe1
Compare
Choose a tag to compare

Changelog

  • 9a4cfe1 update changelog for v2.4.1 (#3896)
  • 0bd0d91 chore(deps): bump actions/checkout in the actions group (#3893)
  • 66af64e chore(deps): bump github.com/theupdateframework/go-tuf/v2 (#3895)
  • 677a262 bump scaffolding release to v0.7.11 (#3887)
  • 77f71e0 Update README.md (#3886)
  • 4393313 Fix bug in attest-blob when using a timestamp authority with new bundles (#3877)
  • 081dea1 fix: documentation link for installation guide (#3884)
  • 780780b chore(deps): bump github.com/xanzy/go-gitlab from 0.108.0 to 0.109.0 (#3867)
  • dee0b23 chore(deps): bump github.com/buildkite/agent/v3 from 3.79.0 to 3.81.0 (#3874)
  • 4ffbf5f update to use go1.22.7 and golangci-lint (#3864)
  • 4c35ffc chore(deps): bump github.com/sigstore/sigstore-go from 0.6.0 to 0.6.1 (#3863)
  • 081ad98 use go1.22.6 to build cosign (#3862)
  • f90977c chore(deps): bump github.com/open-policy-agent/opa from 0.67.1 to 0.68.0 (#3861)
  • c1e5085 chore(deps): bump google.golang.org/api from 0.194.0 to 0.195.0 (#3860)
  • 42fd5f2 chore(deps): bump github.com/mozillazg/docker-credential-acr-helper (#3859)
  • 4beb7f4 chore(deps): bump github.com/buildkite/agent/v3 from 3.78.0 to 3.79.0 (#3858)
  • 247c9dc chore(deps): bump go.step.sm/crypto in the gomod group (#3857)
  • 842d3cc chore(deps): bump actions/upload-artifact in the actions group (#3856)
  • 8defb0e chore(deps): bump google.golang.org/api from 0.192.0 to 0.194.0 (#3852)
  • fe71244 chore(deps): bump github.com/xanzy/go-gitlab from 0.107.0 to 0.108.0 (#3851)
  • 84e979d chore(deps): bump the actions group across 1 directory with 3 updates (#3853)
  • 198b8e4 chore(deps): bump github.com/buildkite/agent/v3 from 3.77.0 to 3.78.0 (#3850)
  • 2820709 chore(deps): bump github.com/sigstore/fulcio in the gomod group (#3848)
  • d712844 add oss-fuzz build script, seeds and dictionaries (#3843)
  • 8a4f390 chore(deps): bump github.com/sigstore/fulcio from 1.5.1 to 1.6.2 (#3839)
  • be4cdc2 chore(deps): bump google.golang.org/api from 0.191.0 to 0.192.0 (#3837)
  • 30c1d0f chore(deps): bump github.com/sigstore/sigstore-go from 0.5.1 to 0.6.0 (#3840)
  • 9c0c81c fuzzing: add fuzzers for multiple packages (#3834)
  • 3694644 chore(deps): bump the gomod group with 2 updates (#3824)
  • 182f64b chore(deps): bump github.com/buildkite/agent/v3 from 3.76.2 to 3.77.0 (#3828)
  • fa12845 chore(deps): bump golang.org/x/crypto from 0.25.0 to 0.26.0 (#3825)
  • cddce0f chore(deps): bump google.golang.org/api from 0.190.0 to 0.191.0 (#3830)
  • e99c1a5 chore(deps): bump github.com/docker/docker (#3823)
  • b23586d Add changelog for v2.4.0 (#3821)
  • cb338e9 Add missing permission to push containers (#3822)

Thanks to all contributors!

v2.4.0

06 Aug 22:19
v2.4.0
b5e7dc1
Compare
Choose a tag to compare

v2.4.0 begins the modernization of the Cosign client, which includes:

  • Support for the newer Sigstore specification-compliant bundle format
  • Support for providing trust roots (e.g. Fulcio certificates, Rekor keys)
    through a trust root file, instead of many different flags
  • Conformance test suite integration to verify signing and verification behavior

In future updates, we'll include:

  • General support for the trust root file, instead of only when using the bundle
    format during verification
  • Simplification of trust root flags and deprecation of the
    Cosign-specific bundle format
  • Bundle support with container signing

We have also moved nightly Cosign container builds to GHCR instead of GCR.

Features

  • Add new bundle support to verify-blob and verify-blob-attestation (#3796)
  • Adding protobuf bundle support to sign-blob and attest-blob (#3752)
  • Bump sigstore/sigstore to support email_verified as string or boolean (#3819)
  • Conformance testing for cosign (#3806)
  • move incremental builds per commit to GHCR instead of GCR (#3808)
  • Add support for recording creation timestamp for cosign attest (#3797)
  • Include SCT verification failure details in error message (#3799)

Contributors

  • Bob Callaway
  • Hayden B
  • Slavek Kabrda
  • Zach Steindler
  • Zsolt Horvath

Full Changelog: v2.3.0...v2.4.0

v2.3.0

22 Jul 17:34
v2.3.0
deed363
Compare
Choose a tag to compare

v2.3.0

Features

  • Add PayloadProvider interface to decouple AttestationToPayloadJSON from oci.Signature interface (#3693)
  • add registry options to cosign save (#3645)
  • Add debug providers command. (#3728)
  • Make config layers in ociremote mountable (#3741)
  • upgrade to go1.22 (#3739)
  • adds tsa cert chain check for env var or tuf targets. (#3600)
  • add --ca-roots and --ca-intermediates flags to 'cosign verify' (#3464)
  • add handling of keyless verification for all verify commands (#3761)

Bug Fixes

  • fix: close attestationFile (#3679)
  • Set bundleVerified to true after Rekor verification (Resolves #3740) (#3745)

Documentation

  • Document ImportKeyPair and LoadPrivateKey functions in pkg/cosign (#3776)

Testing

  • Refactor KMS E2E tests (#3684)
  • Remove sign_blob_test.sh test (#3707)
  • Remove KMS E2E test script (#3702)
  • Refactor insecure registry E2E tests (#3701)

Contributors

  • Billy Lynch
  • bminahan73
  • Bob Callaway
  • Carlos Tadeu Panato Junior
  • Cody Soyland
  • Colleen Murphy
  • Dmitry Savintsev
  • guangwu
  • Hayden B
  • Hector Fernandez
  • ian hundere
  • Jason Power
  • Jon Johnson
  • Max Lambrecht
  • Meeki1l

Full Changelog: v2.2.4...v2.3.0