
Zertifizierungsstelle, die kurzlebige Code-Signatur-Zertifikate ausstellt, die an OpenID-Connect-Identitäten gebunden sind und so überprüfbare Signaturen für die Software-Lieferkette ermöglicht.
Eine kostenlos nutzbare Zertifizierungsstelle (CA) für die Codesignierung
Fulcio ist eine kostenlos nutzbare Zertifizierungsstelle, die Codesignatur-Zertifikate für eine OpenID-Connect-Identität (OIDC), wie z. B. eine E-Mail-Adresse, ausstellt.
Fulcio stellt ausschließlich kurzlebige Zertifikate aus, die 10 Minuten gültig sind.
Fulcio befindet sich in der allgemeinen Verfügbarkeit (General Availability), bietet ein Verfügbarkeits-SLO von 99,5 % und folgt für die API-Stabilität den Semver-Regeln.
Verfügbarkeitsdaten der öffentlichen Fulcio-Instanz finden Sie unter https://status.sigstore.dev.
Die Zertifikatskette von Fulcio kann über die TrustBundle-API abgerufen werden, z. B. für die öffentliche Instanz
(https://fulcio.sigstore.dev). Um die öffentliche Instanz zu verifizieren,
müssen Sie die Kette mit der Sigstore-TUF-Wurzel aus dem Repository
sigstore/root-signing verifizieren.
Installieren und verwenden Sie dazu die CLI-Werkzeuge von go-tuf:
$ go install github.com/theupdateframework/go-tuf/cmd/tuf-client@latest
Holen Sie sich dann die vertrauenswürdigen Root-Keys für Sigstore. Sie verwenden die 5. Iteration der Sigstore-TUF-Root, um den Vertrauensanker zu starten, da es eine abwärtsinkompatible Änderung gibt.
curl -o sigstore-root.json https://raw.githubusercontent.com/sigstore/root-signing/main/metadata/root_history/5.root.json
Initialisieren Sie den TUF-Client mit der zuvor erhaltenen Root und dem entfernten Repository, https://tuf-repo-cdn.sigstore.dev,
und rufen Sie das aktuelle Fulcio-Root-Zertifikat fulcio_v1.crt.pem sowie das Zwischenzertifikat fulcio_intermediate_v1.crt.pem ab.
$ 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-----
Der Certificate Maker ist ein Werkzeug zum Erstellen von Fulcio-konformen Zertifikatsketten. Er unterstützt:
Detaillierte Nutzungsanweisungen und Beispiele finden Sie in der Dokumentation zum Certificate Maker.
Sie können außerdem signierte Releases (fulcio-<os>.sig) mit dem Artefakt-Signaturschlüssel verifizieren:
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
Die API ist hier definiert. Die API kann über HTTP oder gRPC aufgerufen werden.
Fulcio veröffentlicht ausgestellte Zertifikate in einem Certificate-Transparency-Log (CT-Log).
Das Log wird unter https://ctfe.sigstore.dev/test gehostet. Jedes Jahr wird das Log auf eine neue
Log-ID aktualisiert, z. B. https://ctfe.sigstore.dev/2022.
Das Log bietet eine API, die in RFC 6962 dokumentiert ist.
Wir empfehlen Auditoren, dieses Log sowohl auf Integrität als auch auf bestimmte Identitäten hin zu überwachen. Auditoren können z. B. überwachen, wann ein Zertifikat für bestimmte E-Mail-Adressen ausgestellt wird, wodurch Fehlkonfigurationen oder eine mögliche Kompromittierung der Identität des Benutzers erkannt werden können.
Bitte melden Sie Sicherheitslücken gemäß dem Sicherheitsprozess von sigstore.
Fulcio wird im Rahmen des sigstore-Projekts entwickelt.
Wir nutzen außerdem einen Slack-Kanal! Weitere Informationen zu Slack und anderen Kommunikationskanälen finden Sie im Community-Repository
Zusätzlich zu dieser README-Datei enthält der Ordner docs die weitere Dokumentation:
Wenn Sie Änderungen an einem dieser Themen vornehmen, bearbeiten Sie unbedingt auch die entsprechende Datei aus der obigen Liste.