अपडेट पर वापस जाएँ
New releaseAug 6, 2026

cosign v3.1.3

कंटेनर और बाइनरी के लिए कोड हस्ताक्षर और पारदर्शिता

साझा करें

Cosign लोगो

cosign

Sigstore का उपयोग करके OCI कंटेनरों (और अन्य आर्टिफैक्ट) पर हस्ताक्षर करना!

Go Report Card e2e-tests CII Best Practices OpenSSF Scorecard

Cosign का उद्देश्य हस्ताक्षरों को अदृश्य बुनियादी ढांचा बनाना है।

Cosign समर्थन करता है:

  • Sigstore सार्वजनिक भलाई Fulcio प्रमाणपत्र प्राधिकरण और Rekor पारदर्शिता लॉग के साथ "बिना-कुंजी हस्ताक्षर" (डिफ़ॉल्ट)
  • हार्डवेयर और KMS हस्ताक्षर
  • cosign द्वारा उत्पन्न एन्क्रिप्टेड निजी/सार्वजनिक कुंजी जोड़ी के साथ हस्ताक्षर करना
  • OCI रजिस्ट्री में कंटेनर हस्ताक्षर, सत्यापन और भंडारण।
  • अपना स्वयं का PKI लाएँ

जानकारी

Cosign को sigstore परियोजना के भाग के रूप में विकसित किया गया है। हम एक स्लैक चैनल का भी उपयोग करते हैं! आमंत्रण लिंक के लिए यहाँ क्लिक करें।

स्थापना

Homebrew, Arch, Nix, GitHub Action और Kubernetes स्थापनाओं के लिए स्थापना दस्तावेज़ देखें।

Linux और macOS बाइनरी के लिए GitHub रिलीज़ संपत्तियाँ देखें।

🚨 यदि आप हमारी GCS बाल्टी से cosign के रिलीज़ डाउनलोड कर रहे हैं - तो कृपया 31 जुलाई, 2023 की अप्रचलन सूचना पर अधिक जानकारी देखें। 🚨

डेवलपर स्थापना

यदि आपके पास Go 1.22+ है, तो आप एक विकास वातावरण सेटअप कर सकते हैं:```shell $ git clone https://github.com/sigstore/cosign $ cd cosign $ go install ./cmd/cosign $ $(go env GOPATH)/bin/cosign

## योगदान देना

यदि आप `cosign` में योगदान देने में रुचि रखते हैं, तो कृपया [योगदान दस्तावेज़ीकरण](https://github.com/sigstore/cosign/blob/main/CONTRIBUTING.md) पढ़ें।

भविष्य का Cosign विकास अगले प्रमुख रिलीज़ पर केंद्रित होगा जो [sigstore-go](https://github.com/sigstore/sigstore-go) पर आधारित होगा।
अनुरक्षक sigstore-go के भीतर सुविधा विकास पर ध्यान केंद्रित करेंगे। sigstore-go में योगदान, विशेष रूप से अपनी स्वयं की कुंजियाँ लाने और हस्ताक्षर करने के आसपास, की सराहना की जाती है।
कृपया पहले अच्छे मुद्दों के लिए [मुद्दा ट्रैकर](https://github.com/sigstore/sigstore-go/issues) देखें।

Cosign 2.x एक स्थिर रिलीज़ है और इसे समय-समय पर सुविधा अद्यतन और बग फिक्स प्राप्त होते रहेंगे। छोटे दायरे और आकार वाले PRs की त्वरित समीक्षा होने की सबसे अधिक संभावना है।

जो PRs API में महत्वपूर्ण रूप से संशोधन या तोड़-फोड़ करते हैं, उन्हें स्वीकार नहीं किया जाएगा। जो PRs आकार में महत्वपूर्ण हैं लेकिन ब्रेकिंग परिवर्तन नहीं लाते हैं, उन्हें स्वीकार किया जा सकता है, लेकिन sigstore-go में PRs की तुलना में उन्हें कम प्राथमिकता माना जाएगा।

## Dockerfile

Dockerfile के माध्यम से ghcr.io/sigstore/cosign/cosign इमेज का उपयोग करके cosign को कैसे स्थापित और उपयोग करें, यहाँ बताया गया है:```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" ]

त्वरित आरंभ

यह दिखाता है कि कैसे:

  • एक कंटेनर इमेज को डिफ़ॉल्ट पहचान-आधारित "कीलेस साइनिंग" विधि से साइन करें (अधिक जानकारी के लिए दस्तावेज़ देखें)
  • कंटेनर इमेज को सत्यापित करें
  • Sigstore Cosign त्वरित आरंभ में व्यापक कीलेस ब्लॉब साइनिंग/सत्यापन प्रवाहों का अन्वेषण करें

एक कंटेनर पर हस्ताक्षर करें और हस्ताक्षर को रजिस्ट्री में संग्रहीत करें

ध्यान दें कि आपको हमेशा इमेजों पर उनके डाइजेस्ट (@sha256:...) के आधार पर हस्ताक्षर करना चाहिए न कि टैग (:latest) के आधार पर, क्योंकि अन्यथा आप किसी ऐसी चीज़ पर हस्ताक्षर कर सकते हैं जो आपने इरादा नहीं किया था!```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 आपको OIDC के माध्यम से प्रमाणित करने का संकेत देगा, जहाँ आप अपने ईमेल पते से साइन इन करेंगे।
पर्दे के पीछे, cosign Fulcio प्रमाणपत्र प्राधिकरण से एक कोड साइनिंग प्रमाणपत्र का अनुरोध करेगा।
प्रमाणपत्र का विषय उस ईमेल पते से मेल खाएगा जिससे आपने लॉग इन किया था।
Cosign तब हस्ताक्षर और प्रमाणपत्र को Rekor पारदर्शिता लॉग में संग्रहीत करेगा, और हस्ताक्षर को उस छवि के साथ OCI रजिस्ट्री पर अपलोड करेगा जिस पर आप हस्ताक्षर कर रहे हैं।

### कंटेनर सत्यापित करें

छवि को सत्यापित करने के लिए, आपको `--certificate-identity` और `--certificate-oidc-issuer` फ़्लैग के माध्यम से अपेक्षित प्रमाणपत्र विषय और प्रमाणपत्र जारीकर्ता को पास करना होगा:```
cosign verify $IMAGE --certificate-identity=$IDENTITY --certificate-oidc-issuer=$OIDC_ISSUER

आप प्रमाणपत्र पहचान और जारीकर्ता फ़्लैग के लिए एक रेगेक्स भी पास कर सकते हैं, --certificate-identity-regexp और --certificate-oidc-issuer-regexp।

सार्वजनिक कुंजी के विरुद्ध कंटेनर सत्यापित करें

यदि छवि के लिए सार्वजनिक कुंजी से मेल खाने वाला कम से कम एक cosign स्वरूपित हस्ताक्षर पाया जाता है तो यह कमांड 0 लौटाता है। अन्य हस्ताक्षर प्रारूपों के बारे में जानकारी और चेतावनियों के लिए नीचे विस्तृत उपयोग देखें।

कोई भी मान्य पेलोड stdout पर json प्रारूप में मुद्रित होते हैं। ध्यान दें कि इन हस्ताक्षरित पेलोड में कंटेनर छवि का डाइजेस्ट शामिल होता है, जिससे हम सुनिश्चित हो सकते हैं कि ये "पृथक" हस्ताक्षर सही छवि को कवर करते हैं।```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}
### एयर-गैप वातावरण में कंटेनर सत्यापित करें

**नोट:** यह अनुभाग पुराना है।

**नोट:** अधिकांश सत्यापन कार्यप्रवाहों में TUF रिपॉजिटरी से समय-समय पर सेवा कुंजियों का अनुरोध करना आवश्यक होता है।
सार्वजनिक-अच्छे इंस्टेंस का उपयोग करके हस्ताक्षरों के एयरगैप सत्यापन के लिए, आपको प्रोडक्शन TUF रिपॉजिटरी से [trusted root](https://github.com/sigstore/root-signing/blob/main/targets/trusted_root.json) फ़ाइल प्राप्त करनी होगी। इस फ़ाइल की सामग्री बिना सूचना के बदल जाएगी। TUF का उपयोग न करने पर, आपको इस फ़ाइल की अपनी एयरगैप कॉपी को अद्यतित रखने के लिए अपना स्वयं का तंत्र बनाना होगा।

श्रेणियाँ