
Удостоверяющий центр, выпускающий кратковременные сертификаты подписи кода, привязанные к идентификаторам OpenID Connect, что обеспечивает проверяемые подписи в цепочке поставок программного обеспечения.
Бесплатный CA для подписи кода
Fulcio — это бесплатный удостоверяющий центр (CA) для выпуска сертификатов подписи кода для удостоверения OpenID Connect (OIDC), например, адреса электронной почты.
Fulcio выпускает только короткоживущие сертификаты, действительные в течение 10 минут.
Fulcio находится в стадии общей доступности (General Availability), обеспечивая SLO доступности 99,5%, и следует правилам семантического версионирования для стабильности API.
Данные о времени безотказной работы публичного экземпляра Fulcio см. на https://status.sigstore.dev.
Цепочку сертификатов Fulcio можно получить через API TrustBundle, например, для публичного экземпляра
(https://fulcio.sigstore.dev). Для проверки публичного экземпляра
необходимо проверить цепочку с помощью корня TUF от Sigstore из
репозитория sigstore/root-signing).
Для этого установите и используйте CLI-инструменты go-tuf:
$ go install github.com/theupdateframework/go-tuf/cmd/tuf-client@latest
Затем получите доверенные корневые ключи для Sigstore. Из-за обратно несовместимого изменения для создания корня доверия вам потребуется 5-я итерация корня 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 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. Он поддерживает:
Подробные инструкции по использованию и примеры см. в документации Certificate Maker.
Вы также можете проверить подписанные релизы (fulcio-<os>.sig) с помощью ключа подписи артефактов:
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 определён здесь. К API можно обращаться по HTTP или через gRPC.
Fulcio публикует выпущенные сертификаты в журнале Certificate Transparency (CT log).
Журнал размещён по адресу https://ctfe.sigstore.dev/test. Каждый год журнал обновляется
до нового идентификатора журнала, например https://ctfe.sigstore.dev/2022.
Журнал предоставляет API, описанный в RFC 6962.
Мы призываем аудиторов отслеживать этот журнал как для проверки целостности, так и для контроля конкретных удостоверений. Например, аудиторы могут отслеживать случаи выпуска сертификата для определённых адресов электронной почты, что позволит выявить неправильную конфигурацию или потенциальную компрометацию удостоверения пользователя.
Пожалуйста, сообщайте об уязвимостях в соответствии с процедурой безопасности sigstore.
Fulcio разрабатывается в рамках проекта sigstore.
Также мы используем канал в Slack! Чтобы получить дополнительную информацию о Slack и других каналах связи, посетите репозиторий сообщества.
Помимо этого файла README, папка docs содержит следующую дополнительную документацию:
Если вы вносите изменения в какие-либо из этих тем, обязательно отредактируйте соответствующий файл из списка выше.