Immer wieder finden sich Situationen, in denen Active Directory Zertifikate auf Unix-Systeme, Apache-Webserver, VoIP-Telefone oder ähnliches installiert werden müssen. Zu diesem Zweck ist es, anders als bei Windows Systemen, häufig erforderlich, dass die Zertifikatskette (Chain) vollständig innerhalb einer Zertifikatsdatei abgelegt wird, da das Stammzertifikat (Root-CA) nicht zusätzlich importiert werden kann. Mit Windows-Bordmitteln ein schwieriges Unterfangen. Abhilfe schaffts abermals OPENSSL (für Windows).
Erzeugen einer Zertifikatsvorlage für die Anforderung abweichender Antragstellernamen
In der Regel werden die Zielzertifikate für Unix-basierte Systeme oder Webserver erforderlich. Diese lassen sich nicht Windows-typisch in die Active Directory Struktur integrieren und profitieren daher auch selten von den Mechanismen der automatischen Zertifikatsregistrierung (z.B. per Gruppenrichtlinie). Aus diesem Grund können Computerzertifikate wie folgt “händisch” unter anderem Namen registriert werden:
- Öffnen des MMC-SnapIn “Zertifizierungsstelle” > “Name der CA”
- Rechtsklick auf “Zertifikatsvorlagen” > “Verwalten”
- Rechtsklick auf die Standard-Vorlage “Computer” > “Vorlage duplizieren”
- Auf der Registerkarte “Antragstellername” den Radio-Button “Informationen werden in der Anforderung angegeben” auswählen
- Überprüfen der Sicherheitsberechtigung für “Authentifizierte Benutzer” > “Lesen und Registrieren”
- Über “Allgemein” das “Zertifikat in Active Directory veröffentlichen” und den Namen anpassen
- Die Vorlagenkonsole schließen und über einen Rechtsklick auf “Zertifikatsvorlagen” > “Neu” > “Auszustellende Zertifikatsvorlage” auswählen
- Die erstellte Vorlage wählen und mit “Ok” bestätigen
Ausstellen des Quellzertifikats über Active Directory Zertifikatsdienste
Anschließend kann ein neues Zertifikat von jedem Windows-Computer, jedoch nur mit administrativer Berechtigung, unter Angabe eines Antragstellernamens erzeugt werden. Dazu gilt:
- Öffnen des MMC-SnapIn “Zertifikate” > “Computerkonto” > “Dieser Computer”
- Rechtsklick auf “Eigene Zertifikate” > “Alle Aufgaben” > “Neues Zertifikat anfordern”
- Dem Assistenten bis zur Auswahl einer Vorlage folgen und die oben erstellte Vorlage unter “Es werden zusätzliche Informationen für die Zertifikatsregistrierung benötigt” auswählen
- Unter “Antragstellername” > “Typ: Allgemeiner Name” den Wert des künftigen Geräts (z.B. VoIP-Telefon) als FQDN angeben
- Unter “Alternativer Name” > “Typ: DNS” den Wert des künftigen Geräts (z.B. VoIP-Telefon) als FQDN angeben
- Auf der Registerkarte “Privater Schlüssel” > “Schlüsseloptionen” > den “privaten Schlüssel exportierbar machen”
- Mit “Ok” schließen und die Zertifikatsanforderung abschließen
Export des privaten und öffentlichen Schlüsselpaares (.pfx-File)
Das Zertifikat sollte nun unterhalb der “Eigenen Zertifikate” sichtbar sein. Anschließend kann es exportiert werden:
- Rechtsklick auf das frisch ausgestellte Zertifikat > “Alle Aufgaben” > “Exportieren”
- Im Assistenten “Ja, privaten Schlüssel exportieren” wählen
- Zielverzeichnis und Kennwort festlegen und den Assistenten abschließen
.pfx-Schlüsselpaar mittels OPENSSL in .key (privater Schlüssel) und .pem (öffentlicher Schlüssel) aufteilen
Im letzten Schritt ist über “OPENSSL für Windows” folgender Ablauf erforderlich um aus dem. pfx-Schlüsselpaar den .key privaten Schlüssel sowie den .pem öffentlichen Schlüssel zu separieren. Die Software OPENSSL findet sich über den entsprechenden Suchbegriff als Download in einer Suchmaschine eurer Wahl.
Aus der .pfx-Datei den .key privaten Schlüssel extrahieren:
openssl pkcs12 -in AltesZertifikat.pfx -out NeuerPrivateKey.key -nocerts
Aus der .pfx-Datei den .pem öffentlichen Schlüssel extrahieren:
openssl pkcs12 -in AltesZertifikat.pfx -out NeuerPublicKey.pem -nokeys
Schlussendlich wird das .pem-Zertifikat der Stammzertifizierungsstelle (Root-CA) benötigt. Dieses lässt sich aus dem Windows .cer-Zertifikat durch Umbennen der Dateiendung in .pem erzeugen. Anschließend können alle Stücke über das folgende OPENSSEL Statement zu einem neuen .pfx-File zusammengefügt werden:
openssl pkcs12 -export -out NeuesZertifikat.pfx -inkey NeuerPrivateKey.key -in NeuerPublicKey.pem -certfile RootCA.pem
Das ausgestellte Zertifikat kann nun auf dem Zielsystem installiert werden. Es enthält nun die Zertifikatskette in selbiger Zertifikatsdatei.
Über den Autor