Zertifikate - Windows Zertifizierungsstelle - Linux Web-Server-Vorlage
Die Microsoft Zertifizierungsstelle ist hilfreich für das Ausstellen von Intranet-Zertifikaten.
Zertifikate vom Type Intranet sind in der Regel für eine Domain welche im Microsoft AD angelegt wird und enden mit .local
Beispiel: meineDomain.local
Der Administrator würde sich in dem Fall mit dem Anmeldenamen "Administrator@meineDomain.local" und seinem Passwort anmelden.
Die Microsoft Zertifizierungsstelle ist bestens geeignet um für Computer/Server welche im AD registriert sind Zertifikate auszustellen.
Was ist aber, wenn eine Web-Server unter Linux mit speziellen Diensten ein Zertifikat benötigt?
Wir haben dies für einen NGINX-Webserver simuliert der Zertifikate im PEM-Format und eine Schlüsseldatei benötigt.
Dazu müssen wir eine Vorlage erzeugen, welche den export des privaten Schlüssels erlaubt.
- Erstellen einer neuen Vorlage in der Zertifizierungsstelle
- Server-Manager - Tools - Zertifizierungsstelle - Zertifikatsvorlagen - "Verwalten"
- Webserver-Vorlage duplizieren

- Allgemein
- Festlegen des Namens der Vorlage und Gültigkeitszeitraum ausgestellter Zertifikate

- Anforderungsverarbeitung
- Exportieren von privatem Schlüssel zulassen

- Die soeben erstellte Vorlage muss jetzt noch in der Zertifizierungsstelle eingebunden werden
- Server-Manager - Tools - Zertifizierungsstelle - Zertifikatsvorlagen - "Neu" - "Auszustellende Zertifikatsvorlage"


- Erzeugen eines Zertifikats-Anforderung mit der Microsoft Management-Console
- Ausführen mmc -> Datei - Snap-In hinzufügen/entfernen - Zertifikate - "Computerkonto" "Lokalem Computer"
- Im Bereich Eigene Zertifikate "Alle Aufgaben" - "Erweiterte Vorgänge" - "Benutzerdefinierte Anforderung erstellen"
- Im Fenster "Zertifikatregistrierungsrichtlinie auswählen" folgende Vorgaben beibehalten



- In den Eigenschaften wird das Zertifikat definiert

- Anstragsteller = Allgemeiner Name z.B. webserver.meineDomain.local
- Alternativer Name = DNS z.B. webserver.meineDomain.local
- Im Reiter Allgemein kann noch ein Name für das Zertifikat vergeben werden.
- Die eingetragenen Werte mit Hinzufügen bestätigen und mit OK die Zertifikatserstellung Fortsetzen
- Speichern der Anforderung im Dateisystem

- Erzeugen des Zertifikates mit der Zertifizierungsstelle
- Server-Manager - Tools - Zertifizierungsstelle - Alle Aufgaben - "Neue Anforderung einreichen..."
- Die soeben erstelle Anforderung "webserver.meineDomain.local.req" wird geöffnet und in der Zertifizierungstelle verarbeitet anschl. erscheint der Speicherdialog für das erstelle Zertifikat.
- Importieren und weiterverarbeiten des Erzeugten Zertifikates
- Ausführen mmc -> Datei - Snap-In hinzufügen/entfernen - Zertifikate - "Computerkonto" "Lokalem Computer"
- Im Bereich Eigene Zertifikate "Alle Aufgaben" - "Importieren"
- Das erstellte Zertifikat importieren und es erschein anschl. im Bereich "Eigene Zertifikate" - "Zertifikate"

- Von hier kann das Zertifikat per Export für Linux vorbereitet werden
- Export als PFX-Datei
- Zertifikat markieren - "Alle Aufgaben" - "Exportieren"
- Export mit privatem Schlüssel!


- Anschließend die *.pfx Datei in einem beliebigen Pfad speichern

- Weiterverarbeiten der Datei auf dem Linux-Server
- Die erzeugte pfx-Datei inkl. privatem Schlüssel auf den Linux-Server kopieren und mit openssl weiterverarbeiten
- Erzeugen einer separaten Schlüssel und Zertifikatsdatei z.B. PEM für NGINX
- Extrahieren der Schlüsseldatei
- Bei diesem Vorgang wird das Passwort des Zertifikates abgefragt und es muss ein neues vergeben werden
openssl pkcs12 -in webserver.meineDomain.local.pfx -nocerts - webserver.meineDomain.local.key.pem - Entfernen des Passwortes aus der Schlüsseldatei
openssl rsa -in webserver.meineDomain.local.key.pem -out webserver.meineDomain.local.key
- Extrahieren des Zertifikates
- Bei diesem Vorgang wird das Passwort des Zertifikates abgefragt
openssl pkcs12 -in webserver.meineDomain.local.pfx -clcerts -nokeys -out webserver.meineDomain.local.pem
- Diese Dateien können jetzt im NGINX verwendet werden, das Zertifikat wird gegen die Zertifizierungstelle verifiziert und als gültig ausgewiesen.