Folgendes Szenario:
- Der Import einer PFX-Datei scheint zwar erfolgreich, jedoch fehlt anschließend der private Schlüssel. Eine Überprüfung mit certutil endet mit der Fehlermeldung "Missing stored keyset".
- Die Beantragung eines Zertifikats auf einem Client schlägt mit folgender Fehlermeldung fehl:
The requested operation cannot be completed. The computer must be trusted for delegation and the current user account must be configured to allow delegation. 0x80090345 (-2146892987 SEC_E_DELEGATION_REQUIRED).
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.
Wie sich herausstellte, befand sich betreffende Client in einem DMZ-ähnlichen Netzwerksegment und hatte lediglich die Möglichkeit, mit einem Read-only Domain Controller (RODC) zu kommunizieren, nicht jedoch mit einem schreibbaren Domain Controller. Letzteres wurde durch eine Firewall verhindert.
Dadurch war der Client nicht in der Lage, eine Sicherung des Data Protection API (DPAPI) Master Schlüssels ins Active Directory zu schreiben. Da private Schlüssel von Zertifikaten ebenfalls mit der DPAPI geschützt werden, sofern sie einen Softwarebasierten Cryptographic Service Provider (CSP) oder Key Storage Provider (KSP) verwenden, konnten also keine Schlüssel erzeugt oder importiert werden.
Das Problem und das Verhalten sind im folgenden Knowledge Base Artikel von Microsoft beschrieben: DPAPI MasterKey backup failures when RWDC isn’t available.
"When a user logs on to a computer for the first time and tries to encrypt data for the first time, the operating system must create a preferred DPAPI MasterKey, which is based on the user’s current password. During the creation of the DPAPI MasterKey, An attempt is made to back up this master key by contacting an RWDC. If the backup fails, the MasterKey cannot be created and a 0x80090345 error is returned."
Es gibt folgende Möglichkeiten, das Problem zu lösen:
- Dem Client Zugang zu einem schreibbaren Domain Controller ermöglichen.
- Die Sicherung des DPAPI Master Schlüssels ins Active Directory zu unterbinden, was allerdings nicht empfohlen ist und nur dann verwendet werden sollte, wenn die angemeldeten Benutzer nicht zwischen verschiedenen Computern wechseln.