jobs: build: steps: # ... build steps here - uses: sigstore/cosign-installer@main - name: Write signing key to disk (only needed for `cosign sign --key`) run: echo "${{ secrets.SIGNING_SECRET }}" > cosign.key - name: Sign container image run: | cosign sign --key cosign.key \ ghcr.io/your-org/your-repo:some-tag env: COSIGN_PASSWORD: ""
cosign verify --key cosign.pub ghcr.io/your-org/your-repo:some-tag
cosign generate-key-pair k8s://[NAMESPACE]/[NAME]
# 生成密钥对 cosign generate-key-pair # 签署容器镜像并将签名存储在注册表 cosign sign --key cosign.key dlorenc/demo # 查找容器镜像的签名,并使用公钥验证 cosign verify --key cosign.pub dlorenc/demo # 签署制品(artifact) # 默认情况下,签名作为base64编码字符串输出 cosign sign-blob --key cosign.key artifact # 输出:MEQCIAU4wPBpl/U5Vtdx/eJFgR0nICiiNCgyWPWarupH0onwAiAv5ycIKgztxHNVG7bzUjqHuvK2gsc4MWxwDgtDh0JINw== # 验证制品 cosign verify-blob --key cosign.pub --signature MEQCIAU4wPBpl/U5Vtdx/eJFgR0nICiiNCgyWPWarupH0onwAiAv5ycIKgztxHNVG7bzUjqHuvK2gsc4MWxwDgtDh0JINw== artifact
评论删除后,数据将无法恢复
软件完整性保护方案之 Sigstore
背景
什么是Sigstore
Sigstore为什么能保障安全
如何使用sigstore
Github Actions
Kubernetes
独立使用
展望
参考链接