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:
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.
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.