Ключі верифікації

Використовуйте ці відкриті ключі, щоб підтвердити Stella Ops:

  • Зображення контейнерів (CosignІнструмент підпису контейнерів проєкту Sigstore для підпису та верифікації образів та артефактів)
  • Пакети випусків: підписаний маніфест випуску (CosignІнструмент підпису контейнерів проєкту Sigstore для підпису та верифікації образів та артефактів 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 і активний ключ образів за його ідентифікатором у зв'язці, потім перевірте образ за дайджестом цим ключем:

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 перелічує кожен ключ образів за SHA-256 його файлу .pub, з його статусом і строком дії; використовуйте файл ключа з рядка 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 і активний ключ пакетів за його ідентифікатором у зв'язці:

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 перелічує кожен ключ пакетів за SHA-256 його файлу .pub, з його статусом і строком дії. Перевірка відхиляє відкликаний ключ, ключ поза строком дії на момент 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 підписаного маніфесту випуску, щоб ви могли звірити пакет із цією сторінкою. Випуск, опублікований 29 жовтня 2026 року (v1.0.0-RC1-20261029), передує набору й не містить кореневих ключів постачальника.

З 2 листопада 2026 року база даних вразливостей, що публікується на 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: і SHA-256 від SubjectPublicKeyInfo ключа в кодуванні DER. Обчисліть його із завантаженого файлу та порівняйте зі значенням вище:

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