Der Zertifizierungsstellen-Dienst startet nicht und wirft die Fehlermeldung "The parameter is incorrect. 0x80070057 (WIN32: 87 ERROR_INVALID_PARAMETER)"

Folgendes Szenario angenommen:

  • Es ist eine Zertifizierungsstelle im Netzwerk implementiert.
  • Der Zertifizierungsstellen-Dienst startet nicht.
  • Beim Versuch, den Zertifizierungsstellen-Dienst zu starten, erhält man folgende Fehlermeldung:
The parameter is incorrect. 0x57 (WIN32: 87 ERROR_INVALID_PARAMETER)

Ein entsprechendes Ereignis mit Nr. 100 findet sich auch in der Ereignisanzeige der Zertifizierungsstelle:

Active Directory Certificate Services did not start: Could not load or verify the current CA certificate. FabrikamRootCA The parameter is incorrect. 0x80070057 (WIN32: 87 ERROR_INVALID_PARAMETER).

Ursache

In der Regel liegt der Fehler darin begründet, dass es ein Problem mit dem CACertHash Registrierungswert der Zertifizierungsstelle gibt.

Dieser befindet sich in folgendem Pfad:

HKLM\System\CurrentControlSet\Services\CertSvc\Configuration\{Common-Name-der-Zertifizierungsstelle}

CACertHash enthält ungültige Thumbprints

Der Fehler kann auftreten, wenn der CACertHash Wert ungülltige (z.B: unvollständige) Thumbprints enthält.

CACertHash enthält verstecktes Steuerzeichen

Der Fehler trat im Beispiel auf, da der Registry-Wert CACertHash nicht gelesen werden konnte. Hier wurde ein Thumbprint-Wert ausgewechselt, und dabei ein unsichtbares Zeichen mit in den Registry-Wert "CACertHash" hinein kopiert.

Überprüfen kann man dies mit folgendem Kommandozeilenbefehl:

certutil -getreg CA\CaCertHash

Beim Kopieren des Thumbprint aus dem Zertifikats-Dialog schleicht sich oft ein Leerzeichen ein, das man weder in Regedit noch im Texteditor sieht.

Es ist daher ratsam, den Thumbprint bei einer solchen Operation abzuztippen oder aus einer anderen Quelle, beispielsweise der Windows PowerShell zu ermitteln. In der Windows PowerShell ist dies mit dem Get-ChildItem Befehl möglich.

Für Maschinen-Zertifikate:

Get-ChildItem -Path Cert:\LocalMachine\My

Für Benutzer-Zertifikate:

Get-ChildItem -Path Cert:\CurrentUser\My

Weiterführende Links:

de_DEDeutsch