Was ist mkcert?
mkcert ist ein Werkzeug zur Erstellung lokaler HTTPS-Zertifikate für Entwicklungsumgebungen, Netzwerkgeräte und lokale Weboberflächen.
Statt selbstsignierter Zertifikate mit ständigen Browserwarnungen erzeugt mkcert eine lokale Zertifizierungsstelle (CA), die vom eigenen System und Browser als vertrauenswürdig eingestuft wird.
Dadurch lassen sich lokale HTTPS-Verbindungen komfortabel und sicher nutzen – beispielsweise für Shelly-Geräte, TerraMaster NAS-Systeme, Home Assistant oder andere lokale Dienste.
Warum mkcert verwenden?
Weniger Browserwarnungen
Lokale Zertifikate werden als vertrauenswürdig erkannt und vermeiden HTTPS-Warnmeldungen.
Einfache Einrichtung
Zertifikate lassen sich schnell für lokale Geräte und IP-Adressen erstellen.
Ideal für lokale Geräte
Geeignet für Shelly, TerraMaster, Home Assistant und lokale Webdienste.
Installation unter macOS
Homebrew installieren
Falls Homebrew noch nicht installiert ist:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Danach Terminal neu öffnen.
mkcert installieren
Installation von mkcert inklusive Firefox-Unterstützung:
brew install mkcert
brew install nss
mkcert -install
Dabei wird automatisch eine lokale Zertifizierungsstelle erstellt.
Installation unter Windows
winget prüfen
winget ist unter aktuellen Windows-Versionen häufig bereits installiert.
Installation prüfen:
winget --version
Falls winget nicht vorhanden ist, kann der Microsoft App Installer nachinstalliert werden:
Microsoft App Installer öffnen →
Nach der Installation steht winget systemweit zur Verfügung.
mkcert installieren
Installation von mkcert inklusive Firefox-Unterstützung:
winget install FiloSottile.mkcert
winget install Mozilla.NSS
mkcert -install
Dadurch wird automatisch eine lokale Zertifizierungsstelle erstellt und – falls NSS installiert ist – zusätzlich in Firefox eingebunden.
Zertifikate erstellen
Beispiel für ein Zertifikat für eine lokale IP-Adresse:
mkcert 192.168.178.20
Alternativ können auch Hostnamen verwendet werden:
mkcert shellyplug.local
Mein persönlicher Tipp:
mkcert shellyplug shellyplug.local 192.168.178.20 2001:db8:178:20::1
- shellyplug → Kurzname des Geräts
- shellyplug.local → lokaler Hostname für DNS/mDNS
- 192.168.178.20 → Zugriff per IPv4-Adresse
- 2001:db8:178:20::1 → Zugriff per IPv6-Adresse
mkcert erstellt anschließend:
- Zertifikat (.pem)
- Privaten Schlüssel (.pem)
Diese Dateien können anschließend in kompatible Geräte oder Webserver importiert werden.
Firefox & Browser-Hinweise
Firefox-Unterstützung
Firefox verwendet standardmäßig einen eigenen Zertifikatsspeicher.
Deshalb wird zusätzlich das Paket nss benötigt, damit mkcert Zertifikate automatisch auch in Firefox importieren kann.
macOS Schlüsselbund
Unter macOS werden Zertifikate zusätzlich im Schlüsselbund gespeichert.
Dadurch funktionieren lokale HTTPS-Zertifikate auch systemweit in Safari, Chrome und anderen Browsern.
Windows Zertifikatsspeicher
Unter Windows wird die lokale Zertifizierungsstelle im Zertifikatsspeicher des Systems installiert.
Dadurch funktionieren lokale HTTPS-Zertifikate systemweit unter anderem in Edge, Chrome und vielen Anwendungen.
Lokale CA auf mehreren Systemen verwenden
CA-Speicherort anzeigen
mkcert speichert die lokale Zertifizierungsstelle im sogenannten CAROOT-Verzeichnis.
mkcert -CAROOT
Dort befinden sich unter anderem:
- rootCA.pem
- rootCA-key.pem
Die Datei rootCA-key.pem enthält den privaten Schlüssel
der Zertifizierungsstelle und sollte besonders geschützt werden.
CA auf weitere Rechner übertragen
Soll ein zweiter eigener Rechner Zertifikate mit exakt derselben
lokalen Zertifizierungsstelle ausstellen, kann der komplette
CAROOT-Ordner auf diesen Rechner übertragen werden. Dazu gehören
rootCA.pem und rootCA-key.pem.
Der private Schlüssel rootCA-key.pem ermöglicht das
Ausstellen beliebiger Zertifikate dieser CA. Übertragen Sie ihn
deshalb ausschließlich verschlüsselt und nur auf eigene,
vollständig vertrauenswürdige und geschützte Systeme.
Führen Sie anschließend auf dem zweiten Rechner
mkcert -install aus. Geräte, die der CA lediglich
vertrauen, aber selbst keine Zertifikate ausstellen sollen,
erhalten dagegen ausschließlich das öffentliche
rootCA.pem.
Typische Einsatzbereiche
Shelly HTTPS
HTTPS-Zertifikate für Shelly Gen3 und Plus Geräte.
TerraMaster NAS
HTTPS-Zertifikate für TerraMaster NAS-Systeme mit TOS-Betriebssystem.
Lokale Webdienste
HTTPS für lokale Weboberflächen, APIs und interne Netzwerkdienste.
Wichtige Hinweise
Die lokale Zertifizierungsstelle sollte ausschließlich innerhalb des eigenen Netzwerks verwendet werden.
Private Schlüssel dürfen niemals öffentlich weitergegeben oder auf unsicheren Systemen gespeichert werden.
Für öffentlich erreichbare Webseiten sollten stattdessen reguläre Zertifikate von offiziellen Zertifizierungsstellen verwendet werden.
Unterstützung anfragen
Direkter Kontakt
Gerne unterstützen wir Sie bei lokalen HTTPS-Zertifikaten, Browser-Problemen und Netzwerkgeräten.
Vor Ort in Kerpen, München und Umgebung sowie deutschlandweit per Remote-Unterstützung.