Folgendes Szenario:
- Ein Benutzer bentragt ein Zertifikat von einer Active Directory integrierten Zertifizierungsstelle (Enterprise Certification Authority).
- Dem Zertifikat der Zertifizierungsstelle wird vertraut, d.h. sie befindet sich im Speicher für vertrauenswürdige Stammzertifizierungsstellen (Trusted Root Certification Authorities).
- Die Beantragung des Zertifikats schlägt mit folgender Fehlermeldung fehl:
A certification chain processed correctly, but one of the CA certificates is not trusted by the policy provider. 0x800b0112 (-2146762478 CERT_E_UNTRUSTEDCA)
Die Zertifizierungsstelle wird das Ereignis mit Nr. 22 protokollieren.
Ursache
Kennen Sie TameMyCerts? TameMyCerts ist ein Add-On für die Microsoft Zertifizierungsstelle (Active Directory Certificate Services). Es erweitert die Funktion der Zertifizierungsstelle und ermöglicht die Anwendung von Regelwerken, um die sichere Automatisierung von Zertifikat-Ausstellungen zu realisieren. TameMyCerts ist einzigartig im Microsoft-Ökosystem, hat sich bereits in unzähligen Unternehmen auf der ganzen Welt bewährt und steht unter einer freien Lizenz. Es kann über GitHub heruntergeladen und kostenlos verwendet werden. Professionelle Wartung wird ebenfalls angeboten.
Im Vorliegenden Fall wurde eine Archivierung von privaten Schlüsseln versucht. Hierfür wurde auf der Zertifizierungsstelle ein Schlüsselwiederherstellungsagent (Key Recovery Agent, KRA) konfiguriert. Die Zertifizierungsstelle, welche das Zertifikat des Schlüsselwiederherstellungsagenten ausgestellt hat, wurde jedoch aus dem NTAuthCertificates Objekt entfernt.
Das NTAuthCertificates Objekt befindet sich unterhalb des Public Key Services Containers innerhalb der Konfigurationspartition der Active Directory Gesamtstruktur. In ihm sind alle Zertifizierungsstellen-Zertifikate hinterlegt, welche für eine Zertifikatbasierte Anmeldung im Windows Ökosystem verwendet werden können.
Der vollständige LDAP-Pfad lautet:
CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,{Forest-Root-Domain}
Folgende auf Zertifikaten aufbauende Funktionen erfordern das Vorhandensein des CA-Zertifikats in NTAuthCertificates Objekt:
Funktion | Beschreibung |
---|---|
Enroll on Behalf Of (EOBO) | Das CA-Zertifikat der Zertifizierungsstelle , welche die Zertifikate für die Enrollment Agenten ausstellt, muss sich in NTAuthCertificates befinden. |
Key Recovery / Private Key Archivierung | Das CA-Zertifikat der Zertifizierungsstelle, welche die Schlüssel archiviert, muss sich in NTAuthCertificates befinden. |
Smartcard Logon | Das CA-Zertifikat der Zertifizierungsstelle, welche die Zertifikate der Domänencontroller und der anmeldenden Benutzer ausstellt, muss sich in NTAuthCertificates befinden. |
Windows Hello for Business | Identisch zu Smartcard Logon. Wenn Windows Hello for Business ohne Zertifikate wird, muss nur die Zertifizierungsstelle für Domänencontroller eingetragen sein. |
Netzwerkrichtlinienserver (Network Policy Server, NPS), wenn Zertifikatbasierte Anmeldungen verarbeitet werden (z.B. 802.1x über drahtloses oder verkabeltes Netzwerk, DirectAccess, Always ON VPN) | Das CA-Zertifikat der Zertifizierungsstelle, welche die Zertifikate der anmeldenden Benutzer oder Computer ausstellt, muss sich in NTAuthCertificates befinden. |
EFS Dateiwiederherstellungs-Agenten | Das CA-Zertifikat der Zertifizierungsstelle, welche die Zertifikate der Dateiwiederherstellungs-Agenten ausstellt, muss sich in NTAuthCertificates befinden. |
IIS Client Certificate Mapping (gegen Active Directory) | Das CA-Zertifikat der Zertifizierungsstelle, welche die Zertifikate der anmeldenden Benutzer ausstellt, muss sich in NTAuthCertificates befinden. |
Registrierungsdienst für Netzwerkgeräte (Network Device Enrollment Service, NDES), nur Renewal-Modus | Betrifft nur den Renewal-Modus, also das signieren einer Zertifikatanforderung mit einem bestehenden Zertifikat. Das CA-Zertifikat der Zertifizierungsstelle, welche die Zertifikate der zu erneuernden Zertifikate ausgestellt hat, muss sich in NTAuthCertificates befinden. |
Wird eine Active Directory integrierte Zertifizierungsstelle (Enterprise CA) neu installiert, wird ihr CA-Zertifikat automatisch von der Installationsroutine in das NTAuthCertificates Objekt kopiert. Im vorliegenden Fall wurde das CA-Zertifikat nachträglich aus dem Objekt entfernt.
Das Objekt kann beispielsweise mit dem ADSI Editor (adsiedit.msc) inspiziert werden, jedoch können hier die CA-Zertifikate nicht direkt eingesehen werden, da sie als Byte-Array abgespeichert sind.
Man kann jedoch beispielsweise mit folgendem Kommandozeilen-Befehl überprüfen, welche Zertifikate sich in NTAuthCertificates befinden:
certutil -enterprise -verifystore NTAuth
Im obigen Bild sieht man, dass auch hier eine CERT_E_UNTRUSTEDCA Meldung erscheint, obwohl ein Zertifizierungsstellen-Zertifikat vorhanden ist. Dies scheint normal, hier sollte man sich nicht von der Meldung irritieren lassen.
Ebenso ist eine Überprüfung mit der Enterprise PKI Management Konsole (pkiview.msc) möglich, welche zusammen mit den Zertifizierungsstellen-Management-Tools installiert ist. Innerhalb der Baumansicht auf der linken Seite klickt man rechts auf den obersten Knoten und wählt Manage AD Containers…
Anschließend ist die Liste der Zertifikate im Kartreiter NTAuthCertificates zu finden.
Sollte sich also herausstellen, dass das Zertifizierungsstellen-Zertifikat nicht hier enthalten ist, kann man es im gleichen Dialog hinzufühen.
Ebenso ist es möglich, ein Zertifizierungsstellen-Zertifikat mit folgendem Kommandozeilenbefehl hinzuzufügen.
certutil -dspublish {Dateiname} NTAuthCA
Aus Sicherheitsgründen kann es durchaus empfehlenswert sein, dass sich ein Zertifizierungsstellen-Zertifikat nicht im NTAuthCertificates Objekt befindet. Hinzugefügte CA-Zertifikate werden von allen zuvor aufgelisteten Funktionen als vertrauenswürdig angesehen. Dies kann ein Sicherheitsrisiko bedeutet, angenommen, die Zertifizierungsstelle wird von einem Angreifer übernommen. Bevor man neue CA-Zertifikats in das NTAuthCertificates Objekt aufnimmt, sollte eine Sicherheitsbewertung stattfinden. Üblicherweise hat es einen Grund, dass das CA-Zertifikat auf NTAuthCertificates entfernt wurde.
3 Gedanken zu „Die Beantragung eines Zertifikats schlägt fehl mit der Fehlermeldung "A certification chain processed correctly, but one of the CA certificates is not trusted by the policy provider. 0x800b0112 (-2146762478 CERT_E_UNTRUSTEDCA)"“
Kommentare sind geschlossen.