Zum Inhalt springen
sw
en

Tippe um zu suchen

IT-Security (Business)

SSL/TLS-Zertifikate – Grundlagen

Was SSL/TLS-Zertifikate sind, wie der Handshake funktioniert, welche Typen es gibt und wie du Zertifikate im KMU-Alltag prüfst und verwaltest.

7 Min Lesezeit Fortgeschritten Zuletzt aktualisiert:

Was steckt hinter HTTPS?

Wenn du in deinem Browser das Schloss-Symbol siehst, läuft die Verbindung über HTTPS – also HTTP gesichert mit TLS. Aber was passiert da genau?

TLS (Transport Layer Security) ist das Protokoll, das Daten auf dem Weg zwischen Browser und Server verschlüsselt. Den alten Namen SSL (Secure Sockets Layer) hört man noch überall, obwohl SSL offiziell seit 2015 als veraltet gilt und nicht mehr verwendet werden sollte. Heute heisst es TLS 1.2 oder TLS 1.3 – aber im Alltag sagt jeder noch “SSL-Zertifikat”.

Das Zertifikat selbst ist eine Art digitaler Ausweis des Servers. Es enthält:

  • Den öffentlichen Schlüssel des Servers (Public Key)
  • Den Domainnamen, für den es ausgestellt wurde
  • Die ausstellende Zertifizierungsstelle (CA)
  • Das Ablaufdatum

Wie funktioniert der TLS-Handshake?

Bevor auch nur ein Byte an Nutzdaten fliesst, findet der Handshake statt. In vereinfachter Form:

  1. Client Hello – Browser schickt: “Hallo, ich spreche TLS 1.3, hier meine unterstützten Cipher Suites.”
  2. Server Hello – Server antwortet: “Passt, wir nehmen TLS 1.3 mit AES-256-GCM. Hier ist mein Zertifikat.”
  3. Zertifikatsprüfung – Browser prüft: Ist die CA vertrauenswürdig? Stimmt der Domainname? Ist das Zertifikat noch gültig?
  4. Schlüsseltausch – Beide Seiten einigen sich auf einen gemeinsamen Session Key (symmetrischer Schlüssel), ohne ihn je direkt zu übertragen (Diffie-Hellman-Verfahren).
  5. Fertig – Ab jetzt läuft alles verschlüsselt mit dem Session Key.

Der ganze Vorgang dauert bei TLS 1.3 nur noch einen Roundtrip (früher zwei bei TLS 1.2), was spürbar schneller ist.

Begriffe, die du kennen musst

BegriffBedeutung
CA (Certificate Authority)Vertrauenswürdige Stelle, die Zertifikate ausstellt und signiert. Bekannte CAs: DigiCert, GlobalSign, Sectigo, Let’s Encrypt
Root CAOberste CA. Ihr Zertifikat ist in deinem Betriebssystem/Browser fix hinterlegt
Intermediate CAZwischenstufe zwischen Root CA und dem Zertifikat – aus Sicherheitsgründen
CSR (Certificate Signing Request)Anfrage an die CA: enthält deinen Public Key und Domaindaten
Private KeyGeheimer Schlüssel – bleibt immer auf dem Server, niemals weitergeben
Public KeyÖffentlicher Schlüssel – steckt im Zertifikat, darf jeder sehen
SAN (Subject Alternative Name)Erlaubt mehrere Domains in einem Zertifikat (z.B. firma.ch + www.firma.ch + mail.firma.ch)
Wildcard-Zertifikat*.firma.ch – deckt alle direkte Subdomains ab, nicht jedoch sub.sub.firma.ch
Self-SignedSelbst ausgestelltes Zertifikat – kein Browser-Trust, nur für interne/Testumgebungen
PEM / CRT / CER / PFXVerschiedene Dateiformate für Zertifikate und Schlüssel
Chain of TrustDie Kette von Root CA → Intermediate CA → dein Zertifikat

Zertifikat-Typen nach Validierungsgrad

Nicht alle Zertifikate sind gleich. Die CA prüft je nach Typ mehr oder weniger gründlich:

TypPrüfungAusstellungszeitTypische Nutzung
DV (Domain Validation)Nur Kontrolle über die Domain (per E-Mail oder DNS-Record)Minuten bis StundenWebsites, Blogs, Let’s Encrypt
OV (Organization Validation)Domain + Firmenregistrierung wird geprüft1–3 TageFirmenseiten, B2B-Portale
EV (Extended Validation)Strenge Prüfung: Firma, Adresse, RechtsstatusTage bis WochenBanken, grosse Online-Shops

Let’s Encrypt – kostenlos und automatisch

Let’s Encrypt ist eine gemeinnützige CA, die seit 2015 kostenlose DV-Zertifikate ausstellt. Die Zertifikate sind 90 Tage gültig und werden über das ACME-Protokoll automatisch erneuert.

Der Standard-Client heisst Certbot. Auf einem Linux-Server mit nginx:

# Certbot installieren (Ubuntu/Debian)
sudo apt install certbot python3-certbot-nginx

# Zertifikat ausstellen und nginx automatisch konfigurieren
sudo certbot --nginx -d firma.ch -d www.firma.ch

# Automatische Erneuerung testen (läuft per cron/systemd-timer)
sudo certbot renew --dry-run

Für Windows-Server oder IIS gibt es win-acme (früher letsencrypt-win-simple):

# win-acme herunterladen und ausführen – interaktiver Wizard
.\wacs.exe

Zertifikate prüfen – Befehle für den Alltag

Zertifikat einer Website prüfen (OpenSSL)

# Ablaufdatum, Aussteller, Subject prüfen
openssl s_client -connect firma.ch:443 -servername firma.ch 2>/dev/null | openssl x509 -noout -text

# Nur Ablaufdatum
openssl s_client -connect firma.ch:443 -servername firma.ch 2>/dev/null | openssl x509 -noout -dates

# Auf Windows mit PowerShell (2>/dev/null ersetzen durch 2>$null)
openssl s_client -connect firma.ch:443 -servername firma.ch 2>$null | openssl x509 -noout -dates

Ablaufdatum per PowerShell prüfen (ohne OpenSSL)

# Zertifikat einer Website abrufen und Ablaufdatum anzeigen
$url = "https://firma.ch"
$request = [Net.HttpWebRequest]::Create($url)
$request.AllowAutoRedirect = $true
try {
    $response = $request.GetResponse()
    $cert = $request.ServicePoint.Certificate
    $expiry = [DateTime]::Parse($cert.GetExpirationDateString())
    $daysLeft = ($expiry - (Get-Date)).Days
    Write-Host "Zertifikat läuft ab: $expiry"
    Write-Host "Noch $daysLeft Tage gültig"
    $response.Close()
} catch {
    Write-Host "Fehler: $_"
}

Lokale Zertifikatsdatei prüfen

# PEM-Format
openssl x509 -in zertifikat.crt -noout -text

# PFX/P12 importieren und prüfen
openssl pkcs12 -in zertifikat.pfx -nokeys -clcerts | openssl x509 -noout -dates

CSR erstellen (für kostenpflichtige Zertifikate)

# 1. Privaten Schlüssel generieren (4096 Bit RSA)
openssl genrsa -out firma.ch.key 4096

# 2. CSR erstellen – du wirst nach Firmeninfos gefragt
openssl req -new -key firma.ch.key -out firma.ch.csr

# 3. CSR-Inhalt prüfen, bevor du ihn an die CA schickst
openssl req -in firma.ch.csr -noout -text

Windows-Zertifikatspeicher verwalten

Windows verwaltet Zertifikate in eigenen Speichern. Das ist relevant für interne CAs, Clientzertifikate und Code-Signing.

certmgr.msc    :: Zertifikate des aktuellen Benutzers
certlm.msc     :: Zertifikate des lokalen Computers (braucht Admin-Rechte)

Mit PowerShell kannst du Zertifikate scripten:

# Alle persönlichen Zertifikate auflisten
Get-ChildItem -Path Cert:\LocalMachine\My

# Zertifikate filtern, die in den nächsten 30 Tagen ablaufen
$threshold = (Get-Date).AddDays(30)
Get-ChildItem -Path Cert:\LocalMachine\My |
    Where-Object { $_.NotAfter -lt $threshold } |
    Select-Object Subject, NotAfter, Thumbprint

# Zertifikat per Thumbprint entfernen
Remove-Item -Path "Cert:\LocalMachine\My\ABC123..."

Internes PKI für KMU – wann selbst signieren?

Für rein interne Systeme (intranet.firma.local, NAS-Weboberflächen, VPN-Endpunkte, RDP-Gateways) kannst du eine eigene CA betreiben. Vorteil: kostenlos, kein externes DNS nötig. Nachteil: Alle Clients müssen das Root-Zertifikat deiner CA als vertrauenswürdig importieren.

Typischer Weg per GPO (Group Policy):

  1. Auf einem Windows Server: “Active Directory Certificate Services” (AD CS) installieren
  2. Root-CA-Zertifikat exportieren
  3. Per GPO auf alle Domain-Clients verteilen: Computer Configuration → Windows Settings → Security Settings → Public Key Policies → Trusted Root Certification Authorities

Das Thema hängt eng mit AD-Grundlagen und GPO-Grundlagen zusammen.

Häufige Fehler und Troubleshooting

FehlerbildUrsacheLösung
ERR_CERT_DATE_INVALIDZertifikat abgelaufenErneuern; Auto-Renewal prüfen
ERR_CERT_AUTHORITY_INVALIDCA nicht vertrauenswürdig (z.B. selbst signiert)Root-CA-Zertifikat importieren
ERR_CERT_COMMON_NAME_INVALIDDomain stimmt nicht mit CN/SAN übereinNeues Zertifikat für die korrekte Domain ausstellen
SEC_ERROR_OCSP_INVALID_SIGNING_CERTOCSP-Stapling ProblemOCSP-Konfiguration am Server prüfen
Zertifikatskette unvollständigIntermediate-CA fehlt in der KonfigurationIntermediate-Zertifikat in der Server-Config einbinden
Mixed Content WarnungHTTP-Ressourcen auf HTTPS-SeiteAlle internen Links/Ressourcen auf HTTPS umstellen

Tool-Tipp für Diagnose: SSL Labs Server Test gibt dir eine detaillierte Bewertung deiner TLS-Konfiguration (Protokollversionen, Cipher Suites, Chain, HSTS etc.) – kostenlos und ohne Installation.

Zusammenhang mit anderen Themen

SSL/TLS-Zertifikate sind kein isoliertes Thema. Du begegnest ihnen überall:

Weiterlernen

Videos

YouTube
SSL / TLS einfach erklärt
YouTube
Tutorial: Zertifikate und Zertifikatsanfragen (CSR) mit OpenSSL erstellen

Kommentare

Frage, Verbesserungsvorschlag oder eigene Erfahrung zu diesem Artikel? Schreib einen Kommentar. Neue Beiträge erscheinen nach kurzer Moderation.

  • Lade Kommentare …
Kommentar schreiben