Clés de vérification

Utilisez ces clés publiques pour vérifier Stella Ops Suite :

  • Images de conteneurs (CosignOutil de signature de conteneurs du projet Sigstore pour signer et vérifier les images de conteneurs et artefacts)
  • Bundles de version : le manifeste de version signé (CosignOutil de signature de conteneurs du projet Sigstore pour signer et vérifier les images de conteneurs et artefacts verify-blob)
  • Courrier/avis de sécurité (PGP)
  • Matériel signé par l'éditeur, vérifié hors ligne (racines de confiance de l'éditeur ci-dessous)

Vérifier une image de conteneur

Les images plus anciennes se vérifient avec cosign.pub ; les images signées à partir du 2026-11-04 se vérifient avec la clé d'image inscrite dans le trousseau que cosign.pub signe.

Les images signées avant le 2026-11-04, comme les images de service de v1.0.0-RC1-20261029, se vérifient avec la clé de version :

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

Images signées à partir du 2026-11-04 : vérifiez le trousseau avec cosign.pub et la clé d'image active avec son identifiant dans le trousseau, puis vérifiez l'image par son digest avec cette clé :

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 liste chaque clé d'image par le SHA-256 de son fichier .pub, avec son statut et sa période de validité ; utilisez le fichier de clé de la ligne active, aujourd'hui image-signing.pub.

Vérifier le manifeste d'un bundle de version

La clé de version cosign.pub se porte garante de la clé de bundle : elle signe le trousseau bundle-signing-keys.txt, qui liste bundle-signing.pub. Un bundle signé avec la clé de bundle se vérifie par cette chaîne ; un bundle signé directement avec la clé de version, comme v1.0.0-RC1-20261029, se vérifie avec cosign.pub seule.

Bundles signés directement avec la clé de version, comme 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 signe les versions avec la clé de version indiquée sur cette page (cosign.pub) et n'enregistre aucune entrée dans le journal de transparence (Rekor) ; Cosign 3 exige donc --insecure-ignore-tlog=true. La signature est tout de même vérifiée avec cette clé.

Bundles signés avec la clé de bundle : vérifiez le trousseau avec cosign.pub et la clé de bundle active avec son identifiant dans le trousseau :

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

Ensuite, dans le bundle, laissez l'installeur vérifier toute la chaîne : le trousseau, la clé de bundle, les signatures de release-manifest.yaml et de SHA256SUMS, et chaque fichier que liste SHA256SUMS. Indiquez le cosign.pub téléchargé, pour que la copie du bundle soit comparée avec lui :

# 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 liste chaque clé de bundle par le SHA-256 de son fichier .pub, avec son statut et sa période de validité. La vérification refuse une clé révoquée, une clé hors de sa période au moment signedAt du manifeste et tout fichier dont le digest diffère ; elle se termine par 0 si la vérification réussit, 1 en cas de refus et 3 pour un bundle au format antérieur, signé avec la clé de version. tools/verify-bundle.py --require-bundle-signature vérifie la même chaîne. Ces vérifications sont fournies avec les installeurs des bundles signés avec la clé de bundle ; les installeurs de v1.0.0-RC1-20261029 ne les ont pas.

Importer la clé PGP

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

Si un message ou un avis n'est pas signé de manière vérifiable, traitez-le comme non fiable.

PGP Key

4976 7614 4BBA 5DDB E2EA B5B8 5C1E CABB C9F3 1EA6
Afficher la clé complète…

Téléchargement direct : pgp.asc

Copié dans le presse-papiers
-----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
Afficher la clé complète…

Téléchargement direct : cosign.pub

Copié dans le presse-papiers
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEUVa+jrUqCk28DYjVXOR4iCGX2zeB
ei8bd0AT8oRnP1vgkxmIgDpvcdQrRcS3v0vt+Jw6Kyqh2F1BGvwNwKN66g==
-----END PUBLIC KEY-----
          

Racines de confiance de l'éditeur

Chaque racine de l'éditeur a un seul usage et ne vérifie que le matériel signé pour cet usage. La vérification n'utilise que la clé publique et ne nécessite aucune connexion à Stella Ops.

Les racines forment un ensemble de racines de confiance de l'éditeur (<purpose>/anchors/<label>.pem). Un bundle de version qui livre cet ensemble le place dans config/vendor-roots/ et liste chaque identifiant de clé sous vendorTrustRoots dans son manifeste de version signé, afin que vous puissiez comparer le bundle à cette page. La version publiée le 29 octobre 2026 (v1.0.0-RC1-20261029) est antérieure à cet ensemble et ne livre aucune racine de l'éditeur.

Depuis le 2 novembre 2026, la base de vulnérabilités publiée sur mirrors.stella-ops.org/vuln-db/ est signée avec la racine vendor-intelligence (première release signée : 2026-11-02).

stellaops-vendor-entitlement-2026-2

Usage: vendor-entitlement · ECDSA P-256 (ES256)

Identifiant de clé

sha256:7476e87bc384a13678bacba5440cc0ef43dd64a5d0c9b45617789d15b8275246
Afficher la clé complète…

Téléchargement direct : stellaops-vendor-entitlement-2026-2.pem

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

stellaops-vendor-intelligence-2026-2

Usage: vendor-intelligence · ECDSA P-256 (ES256)

Identifiant de clé

sha256:a3024b6333189558022436890e303543059bafb4ba649c820335bb16fd590b97
Afficher la clé complète…

Téléchargement direct : stellaops-vendor-intelligence-2026-2.pem

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

Vérifier un identifiant de clé

L'identifiant de clé est sha256: suivi du SHA-256 de la SubjectPublicKeyInfo de la clé encodée en DER. Calculez-le à partir du fichier téléchargé et comparez-le à la valeur ci-dessus :

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