
سلطة إصدار شهادات تصدر شهادات توقيع أكواد قصيرة الأجل مرتبطة بهويات OpenID Connect، ما يمكّن توقيعات قابلة للتحقق لسلسلة توريد البرمجيات.
هيئة تصديق (CA) مجانية الاستخدام لتوقيع التعليمات البرمجية
Fulcio هي هيئة تصديق (Certificate Authority) مجانية الاستخدام لإصدار شهادات توقيع التعليمات البرمجية لهوية OpenID Connect (OIDC)، مثل عنوان البريد الإلكتروني.
Fulcio تُصدر فقط شهادات قصيرة الأمد صالحة لمدة 10 دقائق.
Fulcio في مرحلة التوفر العام (General Availability)، إذ يقدم اتفاقية مستوى خدمة (SLO) بنسبة توافر 99.5، ويتبع قواعد semver لضمان استقرار الواجهة البرمجية (API).
للاطلاع على بيانات وقت التشغيل لمثيل Fulcio العام، انظر https://status.sigstore.dev.
يمكن الحصول على سلسلة شهادات Fulcio من واجهة TrustBundle، على سبيل المثال للمثيل العام (https://fulcio.sigstore.dev). للتحقق من المثيل العام، يجب عليك التحقق من السلسلة باستخدام جذر TUF الخاص بـ Sigstore من مستودع sigstore/root-signing).
للقيام بذلك، قم بتثبيت واستخدام أدوات سطر الأوامر الخاصة بـ go-tuf:
$ go install github.com/theupdateframework/go-tuf/cmd/tuf-client@latest
بعد ذلك، احصل على مفاتيح الجذر الموثوقة لـ Sigstore. ستحتاج إلى استخدام التكرار الخامس من جذر TUF الخاص بـ Sigstore لبدء جذر الثقة، بسبب تغيير غير متوافق مع الإصدارات السابقة.
curl -o sigstore-root.json https://raw.githubusercontent.com/sigstore/root-signing/main/metadata/root_history/5.root.json
قم بتهيئة عميل TUF باستخدام الجذر الذي حصلت عليه سابقًا والمستودع البعيد https://tuf-repo-cdn.sigstore.dev، واحصل على شهادة الجذر الحالية fulcio_v1.crt.pem والشهادة الوسيطة fulcio_intermediate_v1.crt.pem.
$ tuf-client init https://tuf-repo-cdn.sigstore.dev sigstore-root.json
$ tuf-client get https://tuf-repo-cdn.sigstore.dev fulcio_v1.crt.pem
-----BEGIN CERTIFICATE-----
MIIB9zCCAXygAwIBAgIUALZNAPFdxHPwjeDloDwyYChAO/4wCgYIKoZIzj0EAwMw
KjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MREwDwYDVQQDEwhzaWdzdG9yZTAeFw0y
MTEwMDcxMzU2NTlaFw0zMTEwMDUxMzU2NThaMCoxFTATBgNVBAoTDHNpZ3N0b3Jl
LmRldjERMA8GA1UEAxMIc2lnc3RvcmUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAT7
XeFT4rb3PQGwS4IajtLk3/OlnpgangaBclYpsYBr5i+4ynB07ceb3LP0OIOZdxex
X69c5iVuyJRQ+Hz05yi+UF3uBWAlHpiS5sh0+H2GHE7SXrk1EC5m1Tr19L9gg92j
YzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRY
wB5fkUWlZql6zJChkyLQKsXF+jAfBgNVHSMEGDAWgBRYwB5fkUWlZql6zJChkyLQ
KsXF+jAKBggqhkjOPQQDAwNpADBmAjEAj1nHeXZp+13NWBNa+EDsDP8G1WWg1tCM
WP/WHPqpaVo0jhsweNFZgSs0eE7wYI4qAjEA2WB9ot98sIkoF3vZYdd3/VtWB5b9
TNMea7Ix/stJ5TfcLLeABLE4BNJOsQ4vnBHJ
-----END CERTIFICATE-----
$ tuf-client get https://tuf-repo-cdn.sigstore.dev fulcio_intermediate_v1.crt.pem
-----BEGIN CERTIFICATE-----
MIICGjCCAaGgAwIBAgIUALnViVfnU0brJasmRkHrn/UnfaQwCgYIKoZIzj0EAwMw
KjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MREwDwYDVQQDEwhzaWdzdG9yZTAeFw0y
MjA0MTMyMDA2MTVaFw0zMTEwMDUxMzU2NThaMDcxFTATBgNVBAoTDHNpZ3N0b3Jl
LmRldjEeMBwGA1UEAxMVc2lnc3RvcmUtaW50ZXJtZWRpYXRlMHYwEAYHKoZIzj0C
AQYFK4EEACIDYgAE8RVS/ysH+NOvuDZyPIZtilgUF9NlarYpAd9HP1vBBH1U5CV7
7LSS7s0ZiH4nE7Hv7ptS6LvvR/STk798LVgMzLlJ4HeIfF3tHSaexLcYpSASr1kS
0N/RgBJz/9jWCiXno3sweTAOBgNVHQ8BAf8EBAMCAQYwEwYDVR0lBAwwCgYIKwYB
BQUHAwMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU39Ppz1YkEZb5qNjp
KFWixi4YZD8wHwYDVR0jBBgwFoAUWMAeX5FFpWapesyQoZMi0CrFxfowCgYIKoZI
zj0EAwMDZwAwZAIwPCsQK4DYiZYDPIaDi5HFKnfxXx6ASSVmERfsynYBiX2X6SJR
nZU84/9DZdnFvvxmAjBOt6QpBlc4J/0DxvkTCqpclvziL6BCCPnjdlIB3Pu3BxsP
mygUY7Ii2zbdCdliiow=
-----END CERTIFICATE-----
صانع الشهادات (Certificate Maker) هو أداة لإنشاء سلاسل شهادات متوافقة مع Fulcio. وهو يدعم:
للحصول على تعليمات الاستخدام التفصيلية والأمثلة، راجع توثيق صانع الشهادات.
يمكنك أيضًا التحقق من الإصدارات الموقعة (fulcio-<os>.sig) باستخدام مفتاح توقيع القطع (artifact signing key):
tuf-client get https://tuf-repo-cdn.sigstore.dev artifact.pub > artifact.pub
curl -o fulcio-release.sig -L https://github.com/sigstore/fulcio/releases/download/<version>/fulcio-<os>.sig
base64 -d fulcio-release.sig > fulcio-release.sig.decoded
curl -o fulcio-release -L https://github.com/sigstore/fulcio/releases/download/<version>/fulcio-<os>
openssl dgst -sha256 -verify artifact.pub -signature fulcio-release.sig.decoded fulcio-release
يتم تعريف الواجهة البرمجية (API) هنا. يمكن الوصول إلى الواجهة البرمجية عبر HTTP أو gRPC.
سينشر Fulcio الشهادات الصادرة إلى سجل شفافية الشهادات (CT log). السجل مستضاف على https://ctfe.sigstore.dev/test. كل عام، سيتم تحديث السجل إلى معرّف سجل جديد، على سبيل المثال https://ctfe.sigstore.dev/2022.
يوفر السجل واجهة برمجية موثقة في RFC 6962.
نشجع المدققين على مراقبة هذا السجل من أجل السلامة والهويات المحددة. على سبيل المثال، يمكن للمدققين مراقبة وقت إصدار شهادة لعناوين بريد إلكتروني معينة، مما سيكتشف سوء الإعداد أو الاختراق المحتمل لهوية المستخدم.
يرجى الإبلاغ عن أي ثغرات أمنية باتباع عملية الأمان الخاصة بـ sigstore.
تم تطوير Fulcio كجزء من مشروع sigstore.
كما نستخدم قناة slack! للاطلاع على مزيد من المعلومات حول Slack وقنوات التواصل الأخرى، يرجى مراجعة مستودع المجتمع
بالإضافة إلى ملف README هذا، يحتوي مجلد docs على التوثيق الإضافي التالي:
إذا كنت تجري تغييرات على أي من هذه المواضيع، فتأكد من تحرير الملف المناسب المذكور أعلاه أيضًا.