Die Beantragung eines Zertifikats ist nicht möglich, da die Zertifikatvorlage nicht angezeigt wird. Die Fehlermeldung lautet "Can not find a valid CSP in the local machine."

Folgendes Szenario angenommen:

  • Es wird für einen Benutzer oder einen Computer ein Zertifikat von einer Zertifizierungsstelle über die Verwaltungskonsole für Zertifikate (certlm.msc oder certmgr.msc) beantragt.
  • Autoenrollment beantragt kein Zertifikat von der gewünschten Zertifikatvorlage, obwohl es aktiviert ist und die Berechtigungen entsprechend gesetzt sind.
  • Die gewünschte Zertifikatvorlage wird bei manueller Beantragung über die Microsoft Management Konsole (MMC) nicht angezeigt. Aktiviert man das Kontrollkästchen "Show all templates", wird für die gewünschte Zertifikatvorlage folgende Fehlermeldung angezeigt:
Cannot find object or property.
Can not find a valid CSP in the local machine.

Sofern die Protokollierung aktiviert ist wird auf dem Client das Ereignis mit ID 57 der Quelle Microsoft-Windows-CertificateServicesClient-CertEnroll protokolliert.

The "Microsoft Platform Crypto Provider" provider was not loaded because initialization failed.

Ursache

Die Meldung tritt auf, da die Zertifikatvorlage konfiguriert ist, einen Cryptographic Service Provider (CSP) bzw. Key Storage Provider (KSP) zu verwenden, der auf dem lokalen System nicht vorhanden ist. Dies kann beispielsweise ein Key Storage Provider für ein Hardware Security Modul (HSM) oder ein Trusted Platform Modul (TPM) sein.

Ist die Zertifikatvorlage beispielsweise für die Verwendung des "Microsoft Platform Crypto Provider" konfiguriert, wird ein Trusted Platform Modul (TPM) benötigt, um ein Schlüsselpaar für die anschließende Zertifikatbeantragung zu erzeugen. Verfügt die Maschine nicht über ein funktionierendes TPM ist also keine Beantragung eines Zertifikats von dieser Vorlage möglich.

Workaround

Der Workaround ist nicht kompatibel zur TPM Key Attestation. Ist die TPM Key Attestation aktiviert, werden Zertifikatanforderungen auf System, die kein TPM haben, mit Fehlercode ERROR_BAD_ARGUMENTS fehlschlagen.

Ist es akzeptabel, dass nicht kompatible Clients das Schlüsselmaterial nicht in Hardware schützen, und diese auch ein Zertifikat von dieser Vorlage erhalten sollen, kann das Problem umgangen werden, indem als Fallback-Option noch ein allgemeingültiger Key Storage Provider wie der Microsoft Software Key Storage Provider eingetragen wird.

Der Workaround funktioniert nur zuverlässig, wenn der bevorzugte Key Storage Provider an erster Stelle steht. Die Reihenfolge kann über den Konfigurations-Dialog der Zertifikatvorlage festgelegt werden.

Inspiziert man die Zertifikatanforderungen, wird man feststellen, dass ein Client, der über ein funktionierendes Trusted Platform Modul verfügt, dieses auch für die Erstellung des Schlüsselpaars verwendet.

Zum Vergleich ein Client ohne Trusted Platform Modul. Er stellt fest, dass der Microsoft Platform Crypto Provider nicht verwendet werden kann und fällt auf den nächsten Eintrag zurück.

Weiterführende Links: