مفاتيح التحقق

استخدم هذه المفاتيح العامة للتحقق من Stella Ops Suite:

  • صور الحاوية (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، ومن مفتاح الصور النشط مقابل معرّفه في الحلقة، ثم تحقّق من الصورة بملخّصها (digest) باستخدام هذا المفتاح:

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