Was ist ein Zwischenzertifikat (Intermediate Certificate) und warum wird es benötigt?
Was ist ein Zwischenzertifikat (Intermediate Certificate) und warum wird es benötigt?
Ein Zwischenzertifikat (Intermediate Certificate) verbindet Ihr eigenes SSL-Zertifikat mit dem Stammzertifikat (Root Certificate) der Zertifizierungsstelle (CA), das in Browsern und Betriebssystemen vorinstalliert ist. Ohne diese Verbindung lehnen Browser Ihr Zertifikat als nicht vertrauenswürdig ab — auch wenn das Zertifikat technisch gültig ist.
Hintergrund: CAs unterschreiben Endkunden-Zertifikate aus Sicherheitsgründen nie direkt mit ihrem Root-Zertifikat. Ein Root-Schlüssel ist offline gelagert und wird nur extrem selten verwendet. Stattdessen signiert das Root-Zertifikat ein oder mehrere Zwischenzertifikate, und mit diesen werden die täglich tausenden Endkunden-Zertifikate ausgestellt.
Die Vertrauenskette (Chain of Trust) sieht so aus:
| Ebene | Zertifikat | Wo gespeichert | Lebensdauer |
|---|---|---|---|
| 1 (oben) | Root-Zertifikat der CA | im Browser/OS-Trust-Store | 20–30 Jahre |
| 2 (mittig) | Zwischenzertifikat (Intermediate) | auf Ihrem Webserver | typisch 5–15 Jahre |
| 3 (unten) | Ihr Endkunden-Zertifikat | auf Ihrem Webserver | aktuell bis 47 Tage |
Wenn ein Browser Ihre Seite aufruft, prüft er die Kette von unten nach oben:
- Endkunden-Zertifikat → ist es vom Zwischenzertifikat signiert?
- Zwischenzertifikat → ist es vom Root-Zertifikat signiert?
- Root-Zertifikat → ist es im Trust-Store des Browsers oder Betriebssystems?
Stimmen alle drei Prüfungen, gilt die Verbindung als vertrauenswürdig. Fehlt das Zwischenzertifikat in Schritt 2, bricht die Kette — der Browser kann Ihr Endkunden-Zertifikat nicht zurück zu einer vertrauten Wurzel verfolgen.
Warum die Vertrauenskette über Intermediates aufgebaut ist?
- Sicherheit: Wird ein Intermediate kompromittiert, kann es gesperrt werden, ohne dass alle Browser ein Update brauchen. Ein kompromittiertes Root-Zertifikat dagegen würde einen massiven Eingriff bei Browser- und OS-Herstellern erfordern.
- Skalierbarkeit: Eine CA kann mehrere Intermediates für unterschiedliche Produkte oder Regionen betreiben.
- Trennung der Aufgaben: Das Root-Zertifikat bleibt offline, das Intermediate steht für die operative Ausstellung bereit.
Häufige Probleme rund um Zwischenzertifikate
- Fehlendes Intermediate auf dem Server: Die häufigste Ursache für „Zertifikat nicht vertrauenswürdig"-Fehler auf Mobilgeräten und in Apps. Desktop-Browser ergänzen die Chain teilweise selbst — Mobil-Browser, Java-Anwendungen, OpenSSL-basierte Clients und ältere Geräte tun das nicht.
- Falsche Reihenfolge in der Chain-Datei: Bei Nginx und vielen anderen Servern müssen Endkunden-Zertifikat und Intermediates in einer Datei stehen — und zwar in der Reihenfolge: zuerst das eigene Zertifikat, dann das Intermediate, optional weitere Intermediates.
- Veraltete Intermediates: CAs erneuern ihre Zwischenzertifikate periodisch. Wer das alte weiternutzt, riskiert nach Jahren Probleme.
- Cross-Signed Intermediates: Manche CAs liefern alternative Zwischenzertifikate für ältere Clients. In der Regel wählen Sie das modernere — alte Cross-Signs nur, wenn Sie alte Geräte unterstützen müssen.
So prüfen Sie, ob die Chain auf Ihrem Server korrekt ist?
openssl s_client -connect meine-domain.de:443 -servername meine-domain.de -showcerts
Die Ausgabe listet alle Zertifikate, die der Server ausliefert. Erwartet werden mindestens zwei: Ihr Endkunden-Zertifikat und mindestens ein Intermediate. Eleganter geht es über unseren SSL-Check — er zeigt die komplette Kette grafisch an und meldet fehlende oder falsch sortierte Zertifikate.
Beispiel für eine korrekt aufgebaute Chain-Datei (PEM-Format) für Nginx:
-----BEGIN CERTIFICATE-----
[Ihr Endkunden-Zertifikat]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
[Zwischenzertifikat]
-----END CERTIFICATE-----
Die Zwischenzertifikate erhalten Sie zusammen mit Ihrem ausgestellten Zertifikat von der CA — meist als separate Datei oder als „Bundle" zum Download im Kundenbereich. Bei Apache ab Version 2.4.8 trägt man Endkunden-Zertifikat und Intermediate gemeinsam in eine Datei ein, die über SSLCertificateFile eingebunden wird (SSLCertificateChainFile ist seit 2.4.8 veraltet). Bei Nginx wird ebenfalls eine einzige kombinierte Datei verwendet.
CSR & Einrichtung
- Muss ich für eine Verlängerung einen neuen CSR erstellen?
- Was ist ein CSR und wofür wird dieser benötigt?
- Was ist ein CSR-Checker?
- Was ist ein Zwischenzertifikat (Intermediate Certificate) und warum wird es benötigt?
- Welcher Schlüsseltyp ist sinnvoll: RSA oder ECC?
- Wie installiere ich ein SSL-Zertifikat?
- Wie lange dauert es, bis ein SSL-Zertifikat auf meiner Webseite installiert ist?