Cosign

github.com ↗

Sign and verify container images and other software artifacts with keys or Sigstore's OIDC-based flow.

SI Score
80/100
Pricing
Open Source AI reading, not confirmed
Free plan
Not confirmed
Sign-up required
Not confirmed

Ask SI about Cosign

Answers use saved listing facts and recorded sources.
Homepage screenshot
Screenshot of the Cosign homepage

What it does

Cosign is Sigstore's command-line tool for signing and verifying container images and other software artifacts. It can use a self-managed key pair or create an ephemeral key for a keyless flow that authenticates through an OpenID Connect identity provider. Image signatures are associated with the image in a container registry; blob signing can use a bundle containing verification material. The official project is distributed under Apache License 2.0.

Sign an image that already exists in a registry

Install the Cosign CLI using the official Go, package, or binary instructions, then point it at an image in a registry you can access. For the keyless container workflow, Cosign authenticates with a supported OIDC provider and requests an ephemeral signing certificate. The basic command shown in the documentation is cosign sign $IMAGE; use an immutable image digest when the signature must identify an exact artifact. This is an illustrative command, not a signing operation performed for this listing.

Verify the signer, not just the presence of a signature

A verifier can check an image with cosign verify and provide both the expected certificate identity and OIDC issuer. For example:

cosign verify IMAGE_URI \
  [email protected] \
  --certificate-oidc-issuer=https://accounts.example.com

Replace the example identity, issuer, and image URI with values appropriate to the signing workflow. Verification should express the identity your organization trusts; a successful signature lookup alone is not a deployment policy. For non-container blobs, the documented workflow uses a bundle that carries the signature and certificate information.

Cosign is a CLI component of the larger Sigstore project, not a hosted registry or a complete policy service. It needs access to a container registry for image signing and verification. The keyless route depends on an OIDC identity provider; teams using self-managed keys instead take responsibility for protecting and distributing those keys. The official repository license is Apache-2.0.

Strengths

  • Signs container images and verifies signatures against an expected signer identity and OIDC issuer.
  • Supports keyless identity-based signing as well as self-managed keys.
  • The official repository publishes an Apache License 2.0 and installation paths for Go, binary packages, and common package managers.

Watch out for

  • Container-image workflows require access to a registry, and keyless signing also depends on an OIDC identity provider.
  • Teams using self-managed keys must handle key storage and distribution themselves; verification policy still needs an expected identity and issuer.

Best for

  • Signing container images after a build and checking the signer before promotion or deployment.
  • Build pipelines that need identity-based signing without distributing a long-lived signing key.
  • Verifying signed artifact blobs when the producer supplies the corresponding Sigstore bundle.

Sources