In Teil 1 wurde die Root-CA installiert, die später offline (also runtergefahren) werden soll. Jetzt kümmern wir uns aber zunächst um die Sub-CA die Active Directory integriert werden soll. Dies ist der zweite Teil der PKI Installation.
Als Erstes wird das Zertifikat und die Sperrliste der Root-CA im Active Directory veröffentlicht. Am einfachsten ist das per CMD:
certutil –dspublish –f FWCA01_FrankysWeb-Root-CA.crt Rootca
certutil –dspublish –f FrankysWeb-Root-CA.crl
Nach einem Neustart des Servers oder „gpupdate /force“ sollte das Zertifikat der Root-CA in dem Speicher für Vertrauenswürdige Stammzertifizierungsstellen sichtbar sein
Wie schon bei der Root-CA, wird auch bei der Sub-CA, zuerst die CAPolicy.inf im Windows Verzeichnis abgelegt. Die CAPolicy hat den folgenden Inhalt
[Version] Signature = "$Windows NT$" [certsrv_server] LoadDefaultTemplates = 0 RenewalKeyLength = 2048 RenewalValidityPeriodUnits = 5 RenewalValidityPeriod = years
Nachdem die CAPolicy.inf im Windows Verzeichnis liegt, kann die Sub-CA installiert werden:
Der Typ der CA ist diesmal „Unternehmen“ und nicht wie bei der Root-CA „Eigenständig“
Da es sich in diesem Fall um eine Sub-CA handelt muss „Untergeordnete Zertifizierungsstelle“ ausgewählt werden
Der Assistent soll einen neuen privaten Schlüssel erstellen
Hier ist es wichtig welche Einstellungen gewählt werden, ich nehme SHA256 und 4096Bit Keylänge. Das sollte eine Weile halten.
Namen der SubCA festlegen:
Und die Zertifikatsanforderung speichern
Der Rest ist wieder „Weiter..Weiter..Fertigstellen“… Diese Warnung am Ende der Installation ist normal, da noch kein gültiges Zertifikat vorhanden ist:
Nachdem die Installation abgeschlossen ist, muss die Zertifikatsanforderung auf die Root-CA kopiert werden. Die Anforderung findet sich unter C:\, bei mir hat die Anforderung den Namen „DC1.frankysweb.local_FrankysWeb-Sub-CA.req“
Mit einem Rechtsklick in der Zerstifizierungsstellen Konsole der Root-CA kann die Anforderung eingereicht werden, dazu wird die Anforderungsdatei ausgewählt.
Jetzt findet sich jetzt ein neuer Eintrag unter „Ausstehende Anforderungen“
Diese Anforderung kann genehmigt werden, indem unter „Alle Aufgaben“ auf „Ausstellen“ geklickt wird.
Unter „Ausgestellte Zertifikate“ findet sich jetzt das Zertifikat der Sub-CA. Mit einem Doppelklick kann es angezeigt werden.
Unter dem Reiter „Details“ lässt es sich in eine Datei kopieren (SubCA.cer). Die Datei kann nun auf die Sub-CA kopiert werden, sie wird später benötigt.
Jetzt wird die SubCA konfiguriert. Dies geschient wieder mit einer Batch-Datei (Achtung: Anpassungen nötig, siehe unten)
:: CA konfigurieren :: www.frankysweb.de :: siehe https://www.frankysweb.de/ :: Configuration Naming Context (Forestroot) certutil -setreg CA\DSConfigDN "CN=Configuration,DC=frankysweb,DC=local" ::Maximale Zertifikatsgltigkeit auf 5 Jahre festlegen (Standard: 2 Jahre) certutil -setreg CA\ValidityPeriodUnits 5 certutil -setreg CA\ValidityPeriod "years" ::Sperrlisten und Deltasperrlisten Veröffentlichungsintervalle konfigurieren ::Sperrliste: Alle 4 Tage ::Delta Sperrliste: Alle 12 Stunden certutil -setreg CA\CRLPeriodUnits 3 certutil -setreg CA\CRLPeriod "days" certutil -setreg CA\CRLDeltaPeriodUnits 12 certutil -setreg CA\CRLDeltaPeriod "hours" ::Pfade für die Sperrlisten konfigurieren certutil -setreg CA\CRLPublicationURLs "65:%WINDIR%\system32\CertSrv\CertEnroll\%%3%%8%%9.crl\n79:LDAP:///CN=%%7%%8,CN=%%2,CN=CDP,CN=Public Key Services,CN=Services,%%6%%10\n6:http://ca.frankysweb.de/cert/%%3%%8%%9.crl\n65:file://\\dc1.frankysweb.local\cadata$\%%3%%8%%9.crl" :: Pfade für die AIA-Extension-URLs certutil -setreg CA\CACertPublicationURLs "1:%WINDIR%\system32\CertSrv\CertEnroll\%%1_%%3%%4.crt\n3:LDAP:///CN=%%7,CN=AIA,CN=Public Key Services,CN=Services,%%6%%11\n2:http://ca.frankysweb.de/cert/%%1_%%3%%4.crt" ::Auditing aktivieren certutil -setreg CA\AuditFilter 127
Folgende Anpassungen sind je nach Umgebung nötig:
Zeile 7: Hier muss die Active Directory Konfigurationspartition angegeben werden. Meine AD-Domain heißt frankysweb.local. Daher ist es bei mir „CN=Configuration,DC=frankysweb,DC=local“. Der entsprechende Eintrag lässt sich per ADSI-Edit von einem Domain Controller ermitteln:
Zeile 27 und Zeile 30: Wenn sichergestellt werden soll, dass die Sperrliste auch von externen Clients erreichbar sein soll (Wichtig bei Clients ohne Verbindung zum AD), muss am Ende der Zeile einen Webserver angeben, der aus dem Internet erreichbar ist. Wer nur AD-Mitglieder bedienen muss, kann das Ende der Zeile entfernen (Nicht die ganze Zeile, nur das ab „n2“). Ich empfehle allerdings eine gültige URL einzutragen, später dazu mehr.
Sobald die nötigen Anpassungen durchgeführt wurden kann die Batch Datei ausgeführt werden.
Danach kann das Zertifikat der Sub-CA installiert werden. Dazu wird in der Zertifizierungsstellen MMC der Sub-CA mit einem Rechtsklick auf die CA und dann auf „Alle Aufgaben“ –> „Zertifizierungsstellenzertifikat installieren“ geklickt. Dann wird das Zertifikat der SubCA (SubCA.cer) ausgewählt und installiert:
Nachdem das Zertifikat installiert wurde, kann die CA gestartet werden.
So. Jetzt haben wir eine Sub-CA. Durch die CAPolicy.inf wurde festgelegt, dass keine Standard Vorlagen veröffentlicht werden sollen. Daher ist die Liste der Zertifikatsvorlagen leer:
Somit werden keine Rechner automatisch Zertifikate beantragen und ausgestellt bekommen, es sei denn es wird eine entsprechende Vorlage erstellt. Benutzer können also nicht einfach die EFS-Verschlüsslung oder Bitlocker verwenden, außer wir erstellen eine entsprechende Zertifikatsvorlage und erlauben es den Benutzern. Mit dieser Art der Konfiguration einer PKI, erschlägt man viele Szenarien und behält die Kontrolle für was und welchen Zweck Zertifikate im Unternehmen verwendet werden. Denn nur wenn der Admin eine entsprechende Vorlage mit einem bestimmten Zweck, für eine bestimmte Benutzergruppe erstellt, kann das Zertifikat registriert und genutzt werden. In der „Weiter…Weiter…Fertigstellen“-Installation einer PKI kann jeder Benutzer Verschlüsselung benutzen, ohne entsprechende Key-Recovery Agents lassen sich verschlüsselte Daten aber nicht entschlüsseln, wenn zum Beispiel der Benutzer das Unternehmen verlässt oder der private Schlüssel verloren geht.
Aber wir sind noch nicht ganz fertig, denn es fehlt noch der Download der Sperrlisten via http… (Teil 3)
Hallo Franky,
ich habe jetzt die SUBCA installiert. Es sind aber doch folgende Vorlagen mit installiert worden.
Verzeichnis-E-Mail-Replikation
Domänencontrollerauthentifizierung
Kerberos-Authentifizierung
EFS-Wiederherstellungs-Agent
Basis-EFS
Domänencontroller
Webserver
Computer
Benutzer
Untergeordnete Zertifizierungsstelle
Administrator
Kann ich die jetzt Problemlos löschen ?
Gruß Chris
Mahlzeit, also ich habe alles wunderbar hinbekommen, kann nur keine neuen Zertifikate „Exchange“ einreichen. Ich bekomme folgende Fehlermeldung auf der SubCA:
„Die Anforderung enthält keine Zertifikatsvorlageninformationen.
0x80094801 (-2146875391 CERTSRV_E_NO_ERT_TYPE)
Verweigert von Richtlinenmodul 0x80094801, Die Anforderung enthält weder die Erweiterung für die Zertifikatsvorlage noch das Anforderungsattribut „CertificateTemplate“.
Sobald ich es also versuche, landen meine Versuche im „ordner“ Fehlgeschlagene Anforderungen.
Was mach ich wo falsch? Ich habe das Template Webserver in den Zertifikatsvorlagen, aber auch die Webseite localhost/certsrv sagt, keine Vorlage!.
Mfg
-dspublish-befehl ist fehlgeschlagen: 0x80072ee5 (INet: 12005 ERROR_INTERNET_INVALID_URL)
certutil: die URL ist ungültig…
habe eigentlich alles gemacht wie beschrieben, die HTTP Adresse aus dem bat genommen,
nach dem neuerstellen der sperrliste kommt der Fehler oben,hmpf… :-/
Wie kann man festlegen das man nur Zertifikate für die lokale Domäne ausstellen kann/darf.
Hallo Gysbert,
der Publish der .CRL-Datei schlägt fehl, da darin der Pfad zur Domäne fehlt.
Sie haben höchstwahrscheinlich aus dem ersten Teil des Tuturials sicher das Script zur Konfiguraion der RootCA in eine .BAT-Datei kopiert und angepasst. Allerdings fehlt dort ein Befehl.
Fügen Sie in Ihrer .BAT-Datei unter der Zeile:
certutil -setreg CA\DSConfigDN „CN=Configuration,DC=savelkouls,DC=net“
die Zeile ein:
certutil -setreg CA\DSDomainDN „DC=savelkouls,DC=net“
Das geht allerdings nur wenn Sie nocheinmal von vorne anfangen würden.
Wollen Sie allerdings nur den Fehler beheben und weitermachen gehen Sie wie folgt vor:
1. Löschen Sie auf der RootCA in „C:\Windows\System32\Certsrv\CertEnroll“ die .CRL-Datei
2. Geben Sie die Befehle ein:
certutil -setreg CA\DSDomainDN „DC=savelkouls,DC=net“
net stop certsvc
net start certsvc
3. Starten Sie die Zertifizierungsstelle -> Rechte Maustaste auf „Gesperrte Zertifikate“ -> Veröffentlichen -> Neue Sperrliste -> OK
4. Kopieren Sie die .CRL-Datei aus „C:\Windows\System32\Certsrv\CertEnroll“ und ersetzen die alte .CRL-Datei (die mit dem Referral-Fehler) auf der SubCA
5. Starten Sie, wie im Tutorial wieder den dspuplish und nun sollte es gehen
Quelle: https://technet.microsoft.com/en-us/library/cc737740%28WS.10%29.aspx
PS: An den Zeichen „%%1“ aus dem RootCA-Konfigurationsskript kann man klar erkennen, dass es sich bei „FWCA01“ um den Computernamen der RootCA handelt.
Ich hoffe ich konnte helfen. Ich hatte denselben Fehler. Nach kurzer Suche bin ich auf den Link oben gestoßen und damit wurde er behoben.
Grüße
A.
Hallo A,
ja das hat mir geholfen.
Vielen Dank
Guten Morgen Frank,
es mag Deiner Bereitschaft mir zu helfen nicht förderlich sein…aber ich verstehe nicht, warum EINE KURZE ERKLÄRENDE HILFE…Du mir nicht gewährst.
Lass mich doch nicht so viel bitten und im Regen stehen
Gysbert
Guten Morgen Frank,
ich verstehe einfach nicht, warum Sie/Du mir nicht meine Frage beantworten? Sie geben hier in Ihrem Tutorial doch die Möglichkeit Fragen zu hinterlassen. Ich habe, obwohl alles Punkt für Punkt nachvollzogen wurde, immer noch dieses Problem:
„Eine Referenzauswertung wurde vom Server zurückgesendet“.
BITTE HELFEN SIE MIR DOCH HIER…DANN KOMME ICH ENDLICH WEITER….
Danke dafür
Gysbert Savelkouls
Bitte noch einmal um Hilfe…:-)
Hallo Frank,
ich habe meine Fehler meist ja selbst bemerkt…stoße aber jetzt wieder auf einen, von dem Du schreibst, dass er behoben sei. Ich bekomme beim Veröffentlichen der Sperrliste (die des Zertifikates war erfolgreich) die Meldung:
CertUtil: -dspublish-Befehl ist fehlgeschlagen: 0x8007202b (WIN32: 8235 ERROR_DS_REFERRAL)
CertUtil: Eine Referenzauswertung wurde vom Server zurückgesendet.
Was mache ich falsch…oder was muss ich ändern? Bitte nur um eine KURZE Info
DANKE
Gysbert
PS: Mein Versuch eine neue Sperrliste in der Zertifizierungsstelle zu veröffentlichen (wie Bjane es schrieb), endet mit der Fehlermeldung, dass der RPC-Server nicht in Wartestellung sei (RPC_S_NOT_LISTENING)
Guten Abend Frank,
ich weiß welche Fehler ich gemacht hatte. Aber jetzt komme ich einfach nicht weiter, obwohl ich glaube es richtig zu machen. In CMD auf dem SUB-CA und aus dem „certs-Verzeichnis mit dem Zertifikat und der Sperrliste, gebe ich alles entsprechend ein. Ich bekomme sofort die Info:
Die Konfigurationsinformationen konnten vom Domänencontroller nicht gelesen werden. Der Computer ist entweder nicht verfügbar, oder der Zugriff wurde verweigert.
Könntest Du mir einen Tip geben?
Danke
Gysbert
Habe den Fehler entdeckt!
Ich habe das „:certs“ übersehen. Nachdem ich auf meinen SUB in das Verzeichnis gegangen war…klappte es mit dem Zertifikat.
Aber bei der Sperrliste kam die Meldung:
„Certutil: -dspublish-Befehl ist fehlgeschlagen: 0x8007202b (WIN32: 8235 ERROR_DS_REFERRAL
Certutil: Eine Referenzauswertung wurde vom Server zurückgesendet“
Was kann ich hier machen?
DANKE!!!!!!!!
Hallo Frank…sorry…die Antwort wurde ja am 23. gegeben.
Führe ich CMD mit den beiden Befehlen jetzt auf den Root- oder SUB-Server aus?
Ich bekomme immer die Antwort „Certutil: Das System kann die angegebene Datei nicht finden“
Bei beiden…auf dem Root- als auch auf dem SUB-CA..
Es ist „zum junge Hunde kriegen“…:-(
Hallo Frank,
könntest Du mir die Frage beantworten, was ich dort einsetzen muss?
Als Erstes wird das Zertifikat und die Sperrliste der Root-CA im Active Directory veröffentlicht. Am einfachsten ist das per CMD:
certutil –dspublish –f *FWCA01_Savelkouls-ROOTCA.crt Rootca (*welchen Server?)
certutil –dspublish –f Savelkouls-ROOTCA-CA.crl
DANKE für die Beantwortung der augenscheinlich dumme Frage
Gysbert
Hallo…Frank,
ich versuche es noch einmal Sie hier zu erreichen. Sie schauen sicherlich nicht täglich hier hinein. Aber wenn Sie es tun, wäre es schön wenn Sie mir die bereits gestellte Frage beantworten könnten. Denn natürlich komme ich nicht weiter:-(
certutil –dspublish –f FWCA01_FrankysWeb-Root-CA.crt Rootca
Wofür steht das „FWCA01?
DANKE!!!!
Gysbert
Hallo,
FWCA01_FrankysWeb-Root-CA.crt ist der Name des Zertifikats der Root-CA.
Gruss, Frank
Hallo Frank,
das Problem aus dem Teil 1 habe ich gelöst (Remote Desktop war nicht aktiviert).
Ich habe aber noch Verständnisfragen zum Ende des 1. Teils und zu Teil 2:
Ich habe die erstellten Zertifikate kopiert und auf C$ des Sub-Ca-Servers kopiert. ist das soweit richtig?
Dann steht ja am Anfang von Teil 2, dass das Zertifikat und die Sperrlisten per CMD veröffentlicht werden. Das geschieht aber auf dem Root-CA..oder? Und die 2. Frage…Was bedeutet bei:
„certutil –dspublish –f FWCA01_FrankysWeb-Root-CA.crt Rootca“
das „FWC01“? Muss ich das ersetzen?
Sorry für die DUMME Fragen!
Gysbert
Edit: Für alle die das Problem eventuell auch haben: Ich habe eine neue Sperrliste der Root-CA veröffentlicht und diese dann mit CertUtil erfolgreich veröffentlichen können.
RootCA–>Gesperrte Zertifikate (Rechtsklick) –>Alle Aufgaben–>Veröffentlichen–>Neue Sperrliste.
Super, vielen Dank für den Tipp!
Moin,
vielen Dank für die ausführliche Anleitung. Allerdings bekomme ich bei dem Versuch die Sperrliste der Root-CA zu veröffentlichen immer die Fehlermeldung
“ ldap: 0xa: 0000202B: RefErr: DSID-0310082F, data 0, 1 access Points
ref1: ‚unavailableconfigdn‘
CertUtil: -dspublish-Befehl ist fehlgeschlagen: 0x8007202b (WIN32: 8235 ERROR_DS_REFERRAL)
CertUtil: Eine Referenzauswertung wurde vom Server zurückgesendet. „.
Dadurch kann ich vermutlich auch nicht die Sub-CA starten, da die Sperrliste nicht überprüft werden kann.
Hatte vielleicht jemand das gleiche Problem und kann mir weiterhelfen?
Besten Dank.
Besten Dank für den tollen Beitrag, wie eine zweistufige CA richtig installiert wird. Oben in der CAPolicy.inf ist noch ein Fehler, hier haben sich die HTML p-Tags eingeschlichen.
Danke für den Hinweis, ist korrigiert.
Gruss, Frank