Zurück zu den Updates
New releaseAug 6, 2026

cosign v3.1.3

Codesignierung und Transparenz für Container und Binärdateien

Teilen

Cosign logo

cosign

Signieren von OCI-Containern (und anderen Artefakten) mit Sigstore!

Go Report Card e2e-tests CII Best Practices OpenSSF Scorecard

Cosign zielt darauf ab, Signaturen zu unsichtbarer Infrastruktur zu machen.

Cosign unterstützt:

  • "Keyless signing" mit der Fulcio-Zertifizierungsstelle des Sigstore Public Good und dem Rekor-Transparenzlog (Standard)
  • Hardware- und KMS-Signierung
  • Signieren mit einem von cosign generierten verschlüsselten privaten/öffentlichen Schlüsselpaar
  • Container-Signierung, -Verifizierung und -Speicherung in einer OCI-Registry.
  • Bring-your-own-PKI

Info

Cosign wird als Teil des sigstore-Projekts entwickelt. Wir nutzen auch einen Slack-Kanal! Klicken Sie hier für den Einladungslink.

Installation

Für Installationen mit Homebrew, Arch, Nix, GitHub Action und Kubernetes siehe die Installationsdokumentation.

Für Linux- und macOS-Binärdateien siehe die GitHub-Release-Assets.

🚨 Wenn Sie Releases von cosign aus unserem GCS-Bucket herunterladen, finden Sie weitere Informationen im Hinweis zur Einstellung vom 31. Juli 2023 🚨

Entwicklerinstallation

Wenn Sie Go 1.22+ haben, können Sie eine Entwicklungsumgebung einrichten:```shell $ git clone https://github.com/sigstore/cosign $ cd cosign $ go install ./cmd/cosign $ $(go env GOPATH)/bin/cosign

## Contributing

Wenn Sie daran interessiert sind, zu `cosign` beizutragen, lesen Sie bitte die [Contributing-Dokumentation](https://github.com/sigstore/cosign/blob/main/CONTRIBUTING.md).

Die zukünftige Cosign-Entwicklung wird sich auf das nächste große Release konzentrieren, das auf
[sigstore-go](https://github.com/sigstore/sigstore-go) basieren wird. Die Maintainer werden sich auf die Feature-Entwicklung innerhalb von
sigstore-go konzentrieren. Beiträge zu sigstore-go, insbesondere rund um Bring-your-own-Keys und Signierung, sind willkommen.
Bitte werfen Sie einen Blick auf den [Issue-Tracker](https://github.com/sigstore/sigstore-go/issues) für geeignete erste Issues.

Cosign 2.x ist ein stabiles Release und wird weiterhin regelmäßig Feature-Updates und Bugfixes erhalten. PRs
mit kleinem Umfang und geringer Größe werden am ehesten schnell überprüft.

PRs, die die API erheblich verändern oder brechen, werden nicht angenommen. PRs, die einen erheblichen Umfang haben, aber keine
Breaking Changes einführen, können angenommen werden, werden jedoch als weniger prioritär eingestuft als PRs in sigstore-go.

## Dockerfile

Hier ist, wie man cosign in einem Dockerfile über das Image ghcr.io/sigstore/cosign/cosign installiert und verwendet:```shell
FROM ghcr.io/sigstore/cosign/cosign:v2.4.1 as cosign-bin

# Source: https://github.com/chainguard-images/static
FROM cgr.dev/chainguard/static:latest
COPY --from=cosign-bin /ko-app/cosign /usr/local/bin/cosign
ENTRYPOINT [ "cosign" ]

Quick Start

Dies zeigt, wie man:

Ein Container signieren und die Signatur in der Registry speichern

Beachte, dass du Images immer anhand ihres Digests (@sha256:...) signieren solltest und nicht anhand eines Tags (:latest), da du sonst möglicherweise etwas signierst, das du nicht beabsichtigt hast!```shell cosign sign $IMAGE

Generating ephemeral keys... Retrieving signed certificate...

Note that there may be personally identifiable information associated with this signed artifact.
This may include the email address associated with the account with which you authenticate.
This information will be used for signing this artifact and will be stored in public transparency logs and cannot be removed later.

By typing 'y', you attest that you grant (or have permission to grant) and agree to have this information stored permanently in transparency logs. Are you sure you would like to continue? [y/N] y Your browser will now be opened to: https://oauth2.sigstore.dev/auth/auth?access_type=online&client_id=sigstore&code_challenge=OrXitVKUZm2lEWHVt1oQWR4HZvn0rSlKhLcltglYxCY&code_challenge_method=S256&nonce=2KvOWeTFxYfxyzHtssvlIXmY6Jk&redirect_uri=http%3A%2F%2Flocalhost%3A57102%2Fauth%2Fcallback&response_type=code&scope=openid+email&state=2KvOWfbQJ1caqScgjwibzK2qJmb Successfully verified SCT... tlog entry created with index: 12086900 Pushing signature to: $IMAGE

Cosign wird Sie auffordern, sich über OIDC zu authentifizieren, wobei Sie sich mit Ihrer E-Mail-Adresse anmelden.
Im Hintergrund fordert cosign ein Codesignatur-Zertifikat von der Zertifizierungsstelle Fulcio an.
Das Subject des Zertifikats stimmt mit der E-Mail-Adresse überein, mit der Sie sich angemeldet haben.
Cosign speichert dann die Signatur und das Zertifikat im Rekor-Transparenzprotokoll und lädt die Signatur zusammen mit dem Image, das Sie signieren, in die OCI-Registry hoch.


### Einen Container verifizieren

Um das Image zu verifizieren, müssen Sie den erwarteten Zertifikats-Subject und den Zertifikatsaussteller über die Flags `--certificate-identity` und `--certificate-oidc-issuer` angeben:```
cosign verify $IMAGE --certificate-identity=$IDENTITY --certificate-oidc-issuer=$OIDC_ISSUER

Sie können auch einen regulären Ausdruck für die Zertifikatsidentität und die Issuer-Flags übergeben, --certificate-identity-regexp und --certificate-oidc-issuer-regexp.

Einen Container gegen einen öffentlichen Schlüssel verifizieren

Dieser Befehl gibt 0 zurück, wenn mindestens eine cosign-formatierte Signatur für das Image gefunden wird, die zum öffentlichen Schlüssel passt. Weitere Informationen und Hinweise zu anderen Signaturformaten finden Sie in der detaillierten Verwendung unten.

Alle gültigen Payloads werden im JSON-Format auf stdout ausgegeben. Beachten Sie, dass diese signierten Payloads den Digest des Container-Images enthalten – so können wir sicher sein, dass diese "abgelösten" Signaturen das richtige Image abdecken.```shell $ cosign verify --key cosign.pub $IMAGE_URI:1h The following checks were performed on these signatures:

  • The cosign claims were validated
  • The signatures were verified against the specified public key {"Critical":{"Identity":{"docker-reference":""},"Image":{"Docker-manifest-digest":"sha256:87ef60f558bad79beea6425a3b28989f01dd417164150ab3baab98dcbf04def8"},"Type":"cosign container image signature"},"Optional":null}
### Verifizieren eines Containers in einer Air-Gapped-Umgebung

**Hinweis:** Dieser Abschnitt ist veraltet.

Kategorien