验证密钥

使用这些公钥来验证 Stella Ops Suite:

  • 容器镜像(CosignSigstore项目的容器签名工具,用于签署和验证容器镜像和制品)
  • 发布包:已签名的发布清单(CosignSigstore项目的容器签名工具,用于签署和验证容器镜像和制品 verify-blob)
  • 安全邮件/建议(PGP)
  • 供应商签名的材料,离线验证(见下方供应商信任根)

验证容器镜像

较早的镜像使用 cosign.pub 验证;自 2026-11-04 起签署的镜像使用镜像密钥验证,该密钥列于由 cosign.pub 签署的密钥环中。

2026-11-04 之前签署的镜像(例如 v1.0.0-RC1-20261029 的服务镜像)使用发布密钥验证:

cosign verify --insecure-ignore-tlog=true \
  --key https://stella-ops.org/keys/cosign.pub \
  registry.stella-ops.org/stellaops/<service>:<VERSION>

自 2026-11-04 起签署的镜像:先用 cosign.pub 校验密钥环,再按密钥环中的 ID 校验当前有效的镜像密钥,然后用该密钥按摘要验证镜像:

for f in cosign.pub image-signing-keys.txt image-signing-keys.txt.sig image-signing.pub; do
  curl -sSLO "https://stella-ops.org/keys/$f"
done
sha256sum cosign.pub   # 91481209caf0499d1063e2d5955bb5c151466a9258c0b4c2ec76e5db52e3409b
base64 -d image-signing-keys.txt.sig > ring.der
openssl dgst -sha256 -verify cosign.pub -signature ring.der image-signing-keys.txt
grep ' active ' image-signing-keys.txt   # id status valid-from valid-until file
sha256sum image-signing.pub   # must equal the id on the active line
cosign verify --insecure-ignore-tlog=true --key image-signing.pub \
  registry.stella-ops.org/stellaops/<service>@sha256:<digest>

image-signing-keys.txt 按 .pub 文件的 SHA-256 列出每个镜像密钥及其状态和有效期;请使用 active 行上的密钥文件,目前为 image-signing.pub。

验证发布包清单

发布密钥 cosign.pub 为发布包密钥背书:它签署密钥环 bundle-signing-keys.txt,该密钥环列出 bundle-signing.pub。使用发布包密钥签署的发布包通过这条链验证;直接使用发布密钥签署的发布包(例如 v1.0.0-RC1-20261029)仅用 cosign.pub 验证。

直接使用发布密钥签署的发布包,例如 v1.0.0-RC1-20261029:

cosign verify-blob --insecure-ignore-tlog=true \
  --key https://stella-ops.org/keys/cosign.pub \
  --signature release-manifest.yaml.sig \
  release-manifest.yaml

Stella Ops 使用本页列出的发布密钥(cosign.pub)签署发布,不会在透明度日志(Rekor)中留下条目,因此 Cosign 3 需要 --insecure-ignore-tlog=true。签名仍会按此密钥进行验证。

使用发布包密钥签署的发布包:用 cosign.pub 校验密钥环,再按密钥环中的 ID 校验当前有效的发布包密钥:

for f in cosign.pub bundle-signing-keys.txt bundle-signing-keys.txt.sig bundle-signing.pub; do
  curl -sSLO "https://stella-ops.org/keys/$f"
done
sha256sum cosign.pub   # 91481209caf0499d1063e2d5955bb5c151466a9258c0b4c2ec76e5db52e3409b
base64 -d bundle-signing-keys.txt.sig > ring.der
openssl dgst -sha256 -verify cosign.pub -signature ring.der bundle-signing-keys.txt
grep ' active ' bundle-signing-keys.txt   # id status valid-from valid-until file
sha256sum bundle-signing.pub   # must equal the id on the active line

然后在发布包中让安装程序检查整条链:密钥环、发布包密钥、release-manifest.yaml 和 SHA256SUMS 的签名,以及 SHA256SUMS 列出的每个文件。请传入您下载的 cosign.pub,以便将发布包中的副本与之比较:

# in the unpacked bundle directory
STELLA_RELEASE_PUBKEY=/path/to/cosign.pub ./install.sh --verify-signature
# Windows: $env:STELLA_RELEASE_PUBKEY = "C:\path\to\cosign.pub"; .\install.ps1 -VerifySignature
# or, with Python 3:
python3 tools/bundle_signing_chain.py --trusted-root /path/to/cosign.pub

bundle-signing-keys.txt 按 .pub 文件的 SHA-256 列出每个发布包密钥及其状态和有效期。检查会拒绝已吊销的密钥、在清单 signedAt 时间不在有效期内的密钥,以及摘要不符的任何文件;验证成功时退出码为 0,拒绝时为 1,旧版(发布密钥签署)格式的发布包为 3。tools/verify-bundle.py --require-bundle-signature 检查同一条链。这些检查随使用发布包密钥签署的发布包的安装程序提供;v1.0.0-RC1-20261029 的安装程序没有这些检查。

导入 PGP 密钥

curl -sSL https://stella-ops.org/keys/pgp.asc | gpg --import
gpg --fingerprint "Stella Ops Release Signing"

如果消息或建议未经验证签名,则将其视为不可信。

PGP Key

4976 7614 4BBA 5DDB E2EA B5B8 5C1E CABB C9F3 1EA6
显示完整密钥…

直接下载: pgp.asc

已复制到剪贴板
-----BEGIN PGP PUBLIC KEY BLOCK-----

mQINBGpm8t4BEADISO50jtPoFyyxslZoFsyHiVYh0jhmAjElYNZ1SwWnLE70uP8w
KIDrY16nD/QzaohyZ8LhP02uGcFMkLHUdqHrl4xyJ4Qkp3kryneSbuEzNxnNDA46
6rBVZcmh53yGXqvyA7T163VBmlgVRyH/2pNnnbT756yLKcMN/kvd3Hn4sAOd6874
8F6vag/hqkUa9i0ta5gFjOToHbpPdcbs0BPkvZE/BuPxto76TqFuaFr1QTFVMuBs
bujXdrkdBnufnSfqCud9vP5zhAQTVoWgHy3eIj0bwnpuKiv9AcSO9LU2uMJULiZZ
qmHbnAYaIRmW6TlQ2ynwfKSM1GGvWBuIdBMfNXbAlpwIFbVPMN6vv6XJ33wyTgDF
ADQtEMRckgWNSQBn+2pRl/yEVFBmlrxv31FCj73zY/HfLBjprI7kU9JIII9mqJsh
i31Shv5kxUZTtpVWWHSrql/bm0w1OpfVQ02DXG7QDjH4YE5SPveG2RyR3DGzpLVp
0W7dU1Lutc/WICVO38CWQqbLrPD+yo+WIHdijv/ejH5ofTspdzpnv4zbDc9cEUJw
cYmELAwnJDXO+OEF5pRvndKyWE5SQIX8BrCk2jVtJvvphktu0WQ1449cjx9MJeyy
QyOTvvT05tOdZ2QghXTPgJT5rtPEXljRJIZW01Do1eiisRqwV82MMhtv4QARAQAB
tDNTdGVsbGEgT3BzIFJlbGVhc2UgU2lnbmluZyA8cmVsZWFzZUBzdGVsbGEtb3Bz
Lm9yZz6JAlcEEwEIAEEWIQRJdnYUS7pd2+LqtbhcHsq7yfMepgUCamby3gIbAwUJ
A8JnAAULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRBcHsq7yfMepu6aD/4l
Kd0el1ymwZVptIK7YVg+VZow/eyyGr7j4NNdTDfmGNGCjluIdz/QkD1Xuwl/2iv/
KkGVDpcr9A9PZ9hAFJuXq7fUP98OZNhUlwrNbpwvzJn7VxhhNj57jN3aE6uAoQQx
bhuQY4vm0l2EgCssawRaRJqUvs15pgW3e5OuxIwtgJvLFSRY2LWaMXuntq2RZf0Q
Q42GNTw4Z8UifpdPU4LWILD9FlffcbofhEhfgL4/txNMMgO7ErGukDS2fagPDBJS
ge9+hTWZ2FviCey679qainwhQsuGJD2nBFm5StyS3IoDrRoBQDqGWHiv0l5Y3dGy
biNE2DzlxkpG4CqnqA7/di8b+iUzNfVQmji7D1224gWuT2GnV0eziA5MGLOeyRpL
QG8CpazpuONt3Sy/24a8q4YH948x8vNXj7hwQBrvz/aY75IClD+1073nzMUKJWTf
8q3pQI/dElgs/dX5ZvWl2jwA66rmDYYzyg+j000ILRKoQOj4ZDEHhQsueWEeRAw8
AKqN7xfZVwV4J7SDkyxUn5HGzyFwVjVgPN79O5NXv7XvgxzRA6qEECgR+3RuKy7J
XVedkuRAEK/aULdDIjG4gFaIjBaIqHSrTeobircbMJzRbWWU36bqRGMfsUyzaqtW
5w4qEawrQ6kAxfRHLG+ZqQnH+RW0fzJVCo37xx3tfQ==
=BpyC
-----END PGP PUBLIC KEY BLOCK-----
          

CoSign Key

9148 1209 CAF0 499D 1063 E2D5 955B B5C1 5146 6A92 58C0 B4C2 EC76 E5DB 52E3 409B
显示完整密钥…

直接下载: cosign.pub

已复制到剪贴板
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEUVa+jrUqCk28DYjVXOR4iCGX2zeB
ei8bd0AT8oRnP1vgkxmIgDpvcdQrRcS3v0vt+Jw6Kyqh2F1BGvwNwKN66g==
-----END PUBLIC KEY-----
          

供应商信任根

每个供应商根只有一个用途,只验证为该用途签名的材料。验证只需要公钥,无需连接 Stella Ops。

这些根组成供应商信任根集合(<purpose>/anchors/<label>.pem)。附带该集合的发布包将其放在 config/vendor-roots/ 中,并在已签名的发布清单的 vendorTrustRoots 下列出每个密钥标识符,便于您将发布包与本页比对。2026 年 10 月 29 日发布的版本(v1.0.0-RC1-20261029)早于该集合,不包含任何供应商根。

自 2026 年 11 月 2 日起,发布在 mirrors.stella-ops.org/vuln-db/ 的漏洞数据库使用 vendor-intelligence 信任根签名(首个已签名发布:2026-11-02)。

stellaops-vendor-entitlement-2026-2

用途: vendor-entitlement · ECDSA P-256 (ES256)

密钥标识符

sha256:7476e87bc384a13678bacba5440cc0ef43dd64a5d0c9b45617789d15b8275246
显示完整密钥…

直接下载: stellaops-vendor-entitlement-2026-2.pem

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEO7CZrBZo2WzxM1B0PoZZk7UqToKe
/5TjUQSAwjMzNNVhffeKdXaWLfi1A5HCrkYc5gQ88Yb8Xua46p4tI2blxw==
-----END PUBLIC KEY-----
        

stellaops-vendor-intelligence-2026-2

用途: vendor-intelligence · ECDSA P-256 (ES256)

密钥标识符

sha256:a3024b6333189558022436890e303543059bafb4ba649c820335bb16fd590b97
显示完整密钥…

直接下载: stellaops-vendor-intelligence-2026-2.pem

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJFPlBB3dk+XjFvzCC32xx67LIRTK
+havbZjfyvuej80gqv6oVPeTj/wF6a0Nw9UW9bDtUFwZD0o+K9ARuO+K2w==
-----END PUBLIC KEY-----
        

检查密钥标识符

密钥标识符为 sha256: 加上该密钥 DER 编码的 SubjectPublicKeyInfo 的 SHA-256。请根据下载的文件计算,并与上面的值比对:

curl -sSLO https://stella-ops.org/keys/stellaops-vendor-intelligence-2026-2.pem
openssl pkey -pubin -in stellaops-vendor-intelligence-2026-2.pem -outform DER | sha256sum