Von uns: Mit diesem Artikel beginnen wir eine neue Publikationsreihe auf unserer Website: HEXSSL Insight. Dabei handelt es sich um ausführliche Fachbeiträge, die unser Wissen durch zahlreiche praxisnahe Beispiele ergänzen. Wir hoffen, dass die darin enthaltenen Informationen helfen, alle Aspekte der Online-Sicherheit besser zu verstehen.
Jede sichere HTTPS-Sitzung beginnt mit einer grundlegenden Frage: Kann man der Website, mit der ich eine Verbindung herstelle, wirklich vertrauen?
Die Antwort hängt nicht ausschließlich von der Verschlüsselung ab – entscheidend ist, wer die Identität des Servers bestätigt hat.
Dieser Mechanismus bildet das Fundament der PKI (Public Key Infrastructure), die die globale SSL/TLS-Vertrauenskette aufbaut und aufrechterhält.
In der Praxis vertraut ein Browser einer Website nicht, weil sie ein Zertifikat besitzt, sondern weil dieses Zertifikat von einer Zertifizierungsstelle (CA) signiert wurde, die sich in seinem vertrauenswürdigen Speicher (Trust Store) befindet.
Wenn der Browser oder das Betriebssystem eine bestimmte Root-CA kennt und ihr vertraut, und diese Root-CA direkt oder indirekt die Echtheit des Serverzertifikats bestätigt hat, gilt die Verbindung als sicher.
Dieser Mechanismus garantiert drei Dinge:
Erst wenn diese Bedingungen erfüllt sind, zeigt der Browser das Schlosssymbol 🔒 an.
Es ist wichtig zu verstehen, dass Verschlüsselung (HTTPS) ohne Vertrauen keine Sicherheit bedeutet – ein Server kann ein selbstsigniertes Zertifikat verwenden, das von keiner vertrauenswürdigen Stelle geprüft wurde.
Inhaltsverzeichnis
Die Public Key Infrastructure (PKI) ist ein verteiltes System von Entitäten, Richtlinien und kryptografischen Mechanismen, das die gegenseitige Überprüfung von Identitäten ermöglicht.
Ihre Struktur besteht aus drei Schichten:
Jedes Zertifikat in der Kette enthält eine digitale Signatur – einen Hash seines Inhalts, verschlüsselt mit dem privaten Schlüssel des Ausstellers.
Der Browser überprüft diese Signatur mit dem öffentlichen Schlüssel des übergeordneten Zertifikats.
Dieser Prozess wiederholt sich bis zur Root-CA, die selbstsigniert und im Betriebssystem oder Browser lokal gespeichert ist.
Wenn ein Glied der Kette ungültig ist (z. B. fehlendes Intermediate oder falsche Signatur), wird die Verbindung abgelehnt.
Die hierarchische Struktur der PKI gewährleistet Kontrolle und Widerstandsfähigkeit.
Root-Zertifikate werden in sicheren HSM-Modulen (Hardware Security Modules) aufbewahrt und nur bei Bedarf aktiviert – z. B. zur Ausstellung neuer Intermediate-Zertifikate.
Dadurch wird das Risiko einer Kompromittierung des Root-Schlüssels auf ein Minimum reduziert.
Wird hingegen eine Intermediate-CA kompromittiert, kann sie von der Root-CA widerrufen werden, ohne das gesamte System zu gefährden.
Jedes Zertifikat enthält Felder wie:
Administrator:innen können diese Felder lokal einsehen:
openssl x509 -in cert.pem -noout -text
So lässt sich der Aussteller, die Signatur, der Gültigkeitszeitraum und die gesamte Kette leicht prüfen.
Die Root-CA ist die oberste Instanz der PKI-Hierarchie – die „Quelle der Wahrheit“, von der alle anderen Zertifikate ableiten.
Sie ist selbstsigniert und hat keinen übergeordneten Aussteller. Ihr öffentlicher Schlüssel ist im Betriebssystem oder Browser als Teil des Trust Stores eingebettet.
Root-Zertifikate haben typischerweise eine Lebensdauer von 20 bis 30 Jahren.
Während dieser Zeit werden mehrere Generationen von Zwischenzertifikaten ausgestellt.
Private Schlüssel werden in physischen HSMs gespeichert, der Zugriff ist streng kontrolliert.
Da die Root-CA höchste Vertrauensstufe genießt, wird sie nur selten aktiviert – meist nur zur Ausstellung einer neuen Intermediate-CA, oft im Rahmen einer formellen „Signing Ceremony“.
Jedes große Ökosystem pflegt sein eigenes Root-Programm:
Eine Root-CA muss strenge Sicherheits- und Compliance-Anforderungen erfüllen (WebTrust-Audit, CA/B-Forum-Regeln), um aufgenommen zu werden.
In den Jahren 2024–2025 begannen viele Zertifikatsanbieter (darunter Sectigo) mit der Migration von der alten USERTrust RSA Root CA auf die neuen R46/E46-Roots mit längeren Schlüsseln und dem Algorithmus SHA-384.
Für Administrator:innen bedeutet das, dass alte Ketten durch neue ersetzt werden können und ältere Geräte ggf. Validierungsfehler melden.
Zur Überprüfung, welche Root-CA Ihr Zertifikat verwendet:
openssl s_client -connect example.com:443 -showcerts
oder nutzen Sie das Tool HEXSSL SSL Checker, das automatisch die Kette und den Root-Anker identifiziert.
Eine Intermediate-CA (Zwischenzertifizierungsstelle) fungiert als Bindeglied zwischen der Root-CA und den Endzertifikaten.
Sie signiert tatsächlich die Zertifikate, die auf Webservern, APIs oder E-Mail-Diensten verwendet werden. Dadurch kann die Root-CA offline bleiben, während der Betrieb flexibel Zertifikate ausstellen und erneuern kann.
Der häufigste Implementierungsfehler ist das Fehlen der vollständigen Zertifikatskette auf dem Server.
Wenn das Zwischenzertifikat nicht korrekt mitgeliefert wird, kann der Browser die Vertrauenskette nicht aufbauen und zeigt den Fehler „incomplete chain“ an.
Korrekte Konfiguration für Nginx:
ssl_certificate     /etc/ssl/certs/fullchain.pem;
ssl_certificate_key /etc/ssl/private/domain.key;
Die Datei fullchain.pem muss zuerst das Domain-Zertifikat und anschließend alle Intermediates bis zur Root-CA enthalten (die Root selbst wird weggelassen).
In Apache:
SSLCertificateFile /etc/ssl/certs/domain.crt
SSLCertificateChainFile /etc/ssl/certs/intermediate.crt
SSLCertificateKeyFile /etc/ssl/private/domain.key
Fehlende Ketten können mit dem HEXSSL SSL Checker sofort diagnostiziert werden, der die Struktur und Signatur aller Zertifikate analysiert.
Zwischenzertifikate sind üblicherweise 3–7 Jahre gültig, was regelmäßige Erneuerungen und die Einführung neuer Algorithmen ermöglicht.
Nach Ablauf dieses Zeitraums stellt die Root-CA ein neues Intermediate-Zertifikat aus – ein für Endnutzer transparenter, aber für die Vertrauensintegrität entscheidender Prozess.
Wenn ein Benutzer eine HTTPS-Verbindung zu einer Website herstellt, prüft der Browser nicht nur, ob ein Zertifikat vorhanden ist.
Er führt eine Reihe kryptografischer Tests durch, um sicherzustellen, dass:
Der Validierungsprozess besteht aus mehreren Schritten:
Administrator:innen können die Validierung manuell prüfen:
openssl verify -CAfile chain.pem cert.pem
oder direkt vom Server aus:
openssl s_client -connect example.com:443 -showcerts -verify 5
Der Parameter -verify definiert die Prüftiefe (Kettenlänge).
Erscheint ein Fehler wie unable to get local issuer certificate oder self-signed certificate in chain, fehlt meist ein Intermediate-Zertifikat.
Jedes System hat eigene Validierungsmechanismen:
ca-bundle.crt,cacerts.Daher kann eine funktionierende Konfiguration in einem System in einem anderen fehlschlagen.
Es ist ratsam, Zertifikate in mehreren Browsern und Plattformen zu testen.
Vertrauen bedeutet nicht nur gültige Signaturen – ein korrekt ausgestelltes Zertifikat kann jederzeit ungültig werden, z. B. bei kompromittierten privaten Schlüsseln oder fehlerhafter Ausstellung.
Deshalb existieren Mechanismen zum Widerruf (Revocation), die es ermöglichen zu prüfen, ob ein Zertifikat vor Ablauf seiner Gültigkeit zurückgezogen wurde.
Die CRL ist der älteste und einfachste Widerrufsmechanismus.
Die Zertifizierungsstelle veröffentlicht regelmäßig eine Liste mit Seriennummern widerrufener Zertifikate.
Jedes Zertifikat enthält das Feld CRL Distribution Points mit einer HTTP- oder LDAP-URL, unter der die Liste abrufbar ist.
Prüfung einer CRL lokal:
openssl crl -in crl.pem -noout -text
oder kombiniert:
openssl verify -crl_check -CAfile ca.crt cert.pem
Nachteile von CRLs:
Daher wird CRL zunehmend durch OCSP ersetzt.
OCSP ermöglicht die Echtzeit-Überprüfung des Zertifikatsstatus.
Anstatt eine gesamte Liste herunterzuladen, sendet der Client eine Anfrage mit der Seriennummer des Zertifikats an den OCSP-Server der CA und erhält die Antwort: good, revoked oder unknown.
Beispiel mit OpenSSL:
openssl ocsp -issuer intermediate.pem -cert cert.pem -url http://ocsp.sectigo.com
Zur Beschleunigung kann der Webserver eine aktuelle OCSP-Antwort selbst im TLS-Handshake mitliefern – das sogenannte OCSP Stapling.
Dadurch muss der Browser keine externe Anfrage stellen, was Leistung und Datenschutz verbessert.
Beispielkonfiguration für Nginx:
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/ssl/certs/ca-bundle.crt;
resolver 8.8.8.8;
Empfohlen ist auch die Erweiterung OCSP Must-Staple, die erzwingt, dass jede TLS-Sitzung eine gültige OCSP-Antwort enthält.
Fehlt sie, wird die Verbindung blockiert.
Diese Lösungen sind noch nicht Standard, zeigen aber den Trend: weg von schweren CRLs, hin zu schnellen, automatisierten Revocation-Systemen.
Das PKI-Ökosystem ist dynamisch – Root-Zertifikate laufen ab, neue Algorithmen entstehen, und Browser ändern ihre Anforderungen.
Um die Kompatibilität zu erhalten, verwenden Zertifizierungsstellen (CAs) Cross-Signing – also die Ausstellung eines Intermediate-Zertifikats, das von zwei verschiedenen Root-CAs signiert wurde.
Angenommen, eine CA führt eine neue Root-CA ein, die in älteren Geräten noch nicht als vertrauenswürdig gilt.
Sie stellt daher ein Intermediate-Zertifikat aus, das sowohl von der neuen als auch von der alten Root-CA signiert ist.
Dadurch können neue Systeme die neue Kette nutzen, während ältere weiterhin die alte Root verwenden.
So bleibt die Vertrauenskette übergangsweise funktionsfähig.
Beispiel aus der Praxis:
Let’s Encrypt setzte Cross-Signing zwischen der neuen ISRG Root X1 und der älteren DST Root CA X3 ein, um Unterstützung für Android 7 und ältere Geräte sicherzustellen.
Cross-Signing ist nützlich, kann aber zu Mehrdeutigkeiten führen.
Ein Browser kann mehrere mögliche Ketten aufbauen.
Wenn eine der beteiligten Roots widerrufen oder abgelaufen ist, erhalten einige Nutzer plötzlich die Fehlermeldung „certificate not trusted“.
Bei Root-Migrationen – etwa USERTrust RSA → R46/E46 (Sectigo) – tritt ein ähnliches Problem auf:
Neue Roots sind möglicherweise in älteren Trust Stores noch nicht vorhanden, weshalb CAs für eine Übergangszeit Cross-Signed Intermediates bereitstellen.
Wir empfehlen Administrator:innen, bei jeder Zertifikatserneuerung folgende Punkte zu beachten:
Angenommen, ein Server präsentiert folgende Zertifikate:
OpenSSL zeigt:
depth=2 CN = USERTrust RSA Certification Authority
verify return:1
depth=1 CN = Sectigo RSA Domain Validation Secure Server CA
verify return:1
depth=0 CN = example.com
verify return:1
Der Status verify return:1 bedeutet, dass alle Zertifikate erfolgreich validiert wurden.
Wenn stattdessen erscheint:
verify error:num=20:unable to get local issuer certificate
bedeutet das, dass das lokale System das entsprechende Root- oder Intermediate-Zertifikat nicht kennt oder der Server es nicht bereitstellt.
Neben OpenSSL ist der einfachste Weg, den HEXSSL SSL Checker zu verwenden.
Dieses Tool prüft nicht nur die Vertrauenskette, sondern auch:
Der HEXSSL Checker erstellt zusätzlich einen Sicherheitsbericht (Bewertung A–F) mit Handlungsempfehlungen.
Das Tool eignet sich als Bestandteil von TLS-Audits gemäß NIS2 oder ISO 27001.
In der Theorie scheint die Installation eines SSL/TLS-Zertifikats einfach – man fügt Zertifikat, privaten Schlüssel und Intermediate hinzu.
In der Praxis führen schon kleine Konfigurationsfehler zu Warnungen oder Sperrungen in Browsern.
Im Folgenden listen wir die häufigsten Probleme aus HEXSSL-Audits auf.
Der häufigste Fehler – insbesondere bei älteren Apache-, Tomcat- oder Load-Balancer-Installationen.
Der Server präsentiert nur das Leaf-Zertifikat, aber keine vollständige Kette.
Symptom:
Der Browser zeigt „certificate chain incomplete“ oder „unable to get local issuer certificate“.
Folgen:
Lösung:
Immer die vollständige Kette (full chain) bereitstellen – Domainzertifikat + Intermediate.
Für Nginx:
ssl_certificate     /etc/ssl/certs/fullchain.pem;
ssl_certificate_key /etc/ssl/private/domain.key;
Für Apache:
SSLCertificateFile      /etc/ssl/certs/domain.crt
SSLCertificateChainFile /etc/ssl/certs/intermediate.crt
Selbstsignierte Zertifikate eignen sich für Tests oder interne Netzwerke, bieten aber kein öffentliches Vertrauen.
Browser betrachten sie als unsicher.
Symptom: „Your connection is not private“ (NET::ERR_CERT_AUTHORITY_INVALID).
Folgen:
Lösung:
Zertifikate ausschließlich von anerkannten CAs verwenden – kostenlose (z. B. Let’s Encrypt) sind möglich, sofern keine OV/EV-Validierung erforderlich ist.
Für kommerzielle Websites empfehlen wir Sectigo OV– oder EV-Zertifikate mit vollständiger Vertrauenskette.
Seit 2017 ignorieren Browser das Feld Common Name (CN) und verlassen sich ausschließlich auf Subject Alternative Name.
Symptom:
Die Verbindung funktioniert für eine Domain, aber nicht für Subdomains oder Aliase.
Lösung:
Vor der CSR-Generierung müssen alle Domains definiert werden:
[ req ]
default_bits       = 2048
prompt             = no
default_md         = sha256
distinguished_name = dn
req_extensions     = req_ext
[ dn ]
CN = www.example.com
[ req_ext ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = www.example.com
DNS.2 = example.com
DNS.3 = api.example.com
Der CSR Generator auf unserer Website erstellt automatisch korrekte CSR-Dateien mit allen erforderlichen SAN-Einträgen.
SSL-Zertifikate sind maximal 398 Tage gültig.
Viele Ausfälle entstehen durch versäumte Verlängerungen – insbesondere bei mehreren Domains.
Symptom:
„Certificate has expired“ oder „ERR_CERT_DATE_INVALID“.
Lösung:
Monitoring und Automatisierung einführen.
Unser HEXSSL SSL Expiry Monitor überwacht die Gültigkeit mehrerer Domains und sendet Warnungen vor Ablauf.
Manche Webseiten laden Grafiken oder Skripte weiterhin über HTTP, obwohl das Hauptdokument per HTTPS geladen wird.
Symptom:
„This page is not fully secure“ oder Warnsymbol ⚠️ neben dem Schloss.
Lösung:
HTTPS für alle Ressourcen erzwingen:
Content-Security-Policy: upgrade-insecure-requests;
In WordPress kann dies über wp-config.php oder das Plugin „Really Simple SSL“ konfiguriert werden.
Dieser Fehler tritt auf, wenn der Server eine veraltete oder ungültige OCSP-Antwort liefert – meist durch fehlerhafte Caches oder Netzwerkprobleme.
Symptom:
„OCSP response invalid“ oder „revocation check failed“.
Lösung:
OCSP-Cache leeren, neue Antwort anfordern und sicherstellen, dass ssl_trusted_certificate auf die aktuelle CA-Bundle-Datei zeigt.
Administrator:innen sollten ihre SSL/TLS-Implementierungen regelmäßig prüfen – nicht nur bei der Erstinstallation, sondern nach jeder Serveraktualisierung, CA-Migration oder Root-Änderung.
Die einfachsten Prüfungen können mit OpenSSL durchgeführt werden:
openssl s_client -connect domain.tld:443 -showcerts
openssl verify -CAfile ca-bundle.crt cert.pem
openssl ocsp -issuer intermediate.pem -cert cert.pem -url http://ocsp.sectigo.com
Der HEXSSL SSL Checker automatisiert all diese Schritte und präsentiert die Ergebnisse in einer übersichtlichen Struktur:
Beispielausgabe:
Nach einer Zertifikatserneuerung kann der Browser aus seinem Cache einen veralteten Status anzeigen.
Lösung: SSL-Cache löschen (certutil -urlcache * delete in Windows) oder im Inkognito-Modus testen.
Android, iOS, Windows und Linux verwenden unterschiedliche Root-Stores.
Ein Zertifikat, das auf macOS funktioniert, kann auf Android 7 fehlschlagen.
In Produktionsumgebungen sollten Tests auf mindestens drei Plattformen erfolgen.
Wenn ein Server mehrere Domains hostet, aber das Zertifikat nicht korrekt an den jeweiligen Host gebunden ist, kann der Benutzer ein falsches Zertifikat sehen.
Lösung:
server_name in Nginx prüfen,VirtualHost in Apache,Aus unserer Erfahrung heraus empfehlen wir einige Grundsätze, die Risiken minimieren und Compliance-Anforderungen (NIS2, eIDAS 2.0, ISO 27001) erfüllen.
Ein Zertifikat bedeutet mehr als nur ein „grünes Schloss“.
Jedes Glied der Kette – von der Root-CA bis zur Domain – muss korrekt konzipiert sein.
Verwenden Sie ausschließlich vertrauenswürdige CAs, vermeiden Sie Self-Signed-Zertifikate und testen Sie Ihre Kette nach jeder Änderung.
Empfohlene Parameter:
Veraltete Algorithmen wie SHA-1 oder RSA 1024 sind nicht mehr CA/B-Forum-konform.
Automatisieren Sie CSR-Erstellung, Zertifikatsinstallation und Dienstneustarts (nginx, apache).
In großen Umgebungen empfiehlt sich ein zentrales ACME-Client-System (z. B. certbot, acme.sh) mit API-Integration.
Der HEXSSL SSL Expiry Monitor erlaubt das Hinzufügen mehrerer Domains und sendet Warnungen rechtzeitig vor Ablauf.
Empfohlene Benachrichtigungsstufen:
Ein Audit sollte prüfen:
HEXSSL bietet spezialisierte SSL/TLS-Audit- und Zertifikatsprüfungen für Server- und Cloud-Umgebungen.
Weitere Informationen finden Sie unter HEXSSL Kontakt.
Mit der Einführung der NIS2-Richtlinie und der Verordnung eIDAS 2.0 hat die Bedeutung von SSL/TLS-Zertifikaten den Rahmen technischer Maßnahmen verlassen und ist zu einer rechtlichen Anforderung geworden.
HEXSSL unterstützt Organisationen bei der Anpassung ihrer TLS-Infrastruktur an die Anforderungen von NIS2 und eIDAS – durch Audits, Empfehlungen und Analysewerkzeuge (SSL Checker, OCSP Validator).
Die SSL/TLS-Vertrauenskette ist das Fundament der globalen Internetsicherheit.
Dank der hierarchischen PKI-Struktur und strenger Validierungsprozesse ermöglicht sie nicht nur Verschlüsselung, sondern auch die Verifizierung der Identität beider Kommunikationsparteien.
Jedes Glied der Kette – von der Root-CA bis zum Leaf-Zertifikat – spielt eine entscheidende Rolle für die Vertrauenswürdigkeit.
Ein fehlerhaftes oder fehlendes Glied kann die gesamte Kette kompromittieren.
Eine sichere SSL/TLS-Implementierung erfordert daher:
HEXSSL unterstützt Administrator:innen und Unternehmen mit Tools, die jeden Schritt des Zertifikatslebenszyklus vereinfachen – von der CSR-Erstellung bis zur vollständigen Kettenvalidierung und Ablaufüberwachung.
1. Was ist der Unterschied zwischen Root-CA und Intermediate-CA?
Die Root-CA ist die übergeordnete Zertifizierungsstelle, die Intermediate-CAs signiert.
Intermediate-CAs stellen Endzertifikate für Domains aus.
Die Root bleibt offline und ist in Trust Stores verankert.
2. Warum zeigt der Browser „incomplete chain“?
Der Server sendet nicht die vollständige Zertifikatskette.
Die Datei fullchain.pem muss sowohl das Domain- als auch das Intermediate-Zertifikat enthalten.
3. Ist Let’s Encrypt so sicher wie kostenpflichtige Zertifikate?
Ja – hinsichtlich Verschlüsselung.
Der Unterschied liegt in der Validierung: Let’s Encrypt bietet nur DV (Domain Validation),
während kostenpflichtige OV/EV-Zertifikate die Organisation prüfen und finanzielle Garantien beinhalten.
4. Wie kann ich prüfen, welche Root-CA mein Zertifikat verwendet?
Mit:
openssl s_client -connect domain.de:443 -showcerts
oder über den HEXSSL SSL Checker.
5. Warum vertraut der Browser meinem Zertifikat trotz HTTPS nicht?
Meist fehlt der passende Root im Trust Store oder die Kette ist unvollständig.
6. Wie oft sollte ein SSL-Zertifikat erneuert werden?
Maximal gültig: 398 Tage.
Empfohlen: jährliche Erneuerung mit automatischem Monitoring (z. B. HEXSSL Expiry Monitor).
7. Was ist OCSP-Stapling und sollte ich es aktivieren?
OCSP-Stapling übermittelt den Zertifikatsstatus direkt vom Server.
Es erhöht Leistung und Datenschutz – unbedingt aktivieren!
8. Bietet EV-Zertifizierung mehr technische Sicherheit?
Nein – die Verschlüsselung ist identisch.
EV bietet aber höhere Identitätsprüfung und stärkt das Markenvertrauen.
9. Was bedeutet „cross-signed“?
Ein Intermediate-Zertifikat wurde von zwei verschiedenen Root-CAs signiert, um Kompatibilität während einer Root-Migration sicherzustellen.
10. Wie unterstützt HEXSSL das SSL/TLS-Management?
HEXSSL stellt eine Suite professioneller Tools bereit: