Zum Inhalt springen
ecdsa.com

Zertifikatskette

Die geordnete Folge von Zertifikaten vom End-Entity-Zertifikat (Leaf-Zertifikat) über ein oder mehrere Zwischenzertifikate bis zu einem vertrauenswürdigen Root-Zertifikat, wobei jedes vom jeweils nächsten signiert ist.
Auch geschrieben alschain of trustcertificate pathfullchainCA bundle

Ein TLS-Server muss zuerst sein Leaf-Zertifikat senden, danach die Zwischenzertifikate (RFC 9846 §4.5.1 erlaubt die übrigen Zertifikate in beliebiger Reihenfolge, ältere Clients erwarten aber, dass auf jedes Zertifikat sein Aussteller folgt). Das Root-Zertifikat wird normalerweise weggelassen, weil der Client es schon hat. Ein fehlendes Zwischenzertifikat ist der klassische Fehler „funktioniert im Browser, scheitert mit curl“: Browser können es über die AIA-URL caIssuers nachladen oder zwischengespeicherte Zwischenzertifikate wiederverwenden, OpenSSL, Go, Java und die meisten API-Clients tun das nicht.

Clients bauen einen Pfad auf, statt nur die Liste zu lesen: Mit cross-signierten Zwischenzertifikaten kann es mehrere gültige Pfade geben, und der Verifizierer wählt einen, der bei einem Root-Zertifikat endet, dem er vertraut. So hielt Let's Encrypt alte Android-Geräte über das Cross-Signing durch DST Root CA X3 bis 2024 funktionsfähig, und deshalb zählt die Reihenfolge in der Datei weniger als die Frage, ob jedes benötigte Zertifikat vorhanden ist.

PEM-Bundles (fullchain.pem) enthalten das Leaf-Zertifikat und die Zwischenzertifikate; auch Dateien im Format PKCS #12 können sie transportieren. Der Zertifikatsketten-Builder ordnet und vervollständigt eine Kette, und der PEM-Bundle-Splitter zerlegt ein Bundle in seine Zertifikate.

Standards und Quellen

Alle Begriffe