Die Beantragung eines Zertifikats schlägt fehl mit Fehlermeldung "Error Parsing Request The request subject name is invalid or too long. 0x80094001 (-2146877439 CERTSRV_E_BAD_REQUESTSUBJECT)"

Folgendes Szenario angenommen

  • Es wird eine Zertifikatanforderung an eine Zertifizierungsstelle gesendet.
  • Die Beantragung des Zertifikats schlägt mit folgender Fehlermeldung fehl:
Error Parsing Request The request subject name is invalid or too long. 0x80094001 (-2146877439 CERTSRV_E_BAD_REQUESTSUBJECT)

Die Zertifizierungsstelle protokolliert das Ereignis Nr. 22:

Active Directory Certificate Services could not process request 166086 due to an error: The request subject name is invalid or too long. 0x80094001 (-2146877439 CERTSRV_E_BAD_REQUESTSUBJECT). The request was for CN=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa. Additional information: Error Parsing Request

Mögliche Ursachen:

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.

  • Das Feld Antragsteller (Subject Distinguished Name) in der Zertifikatanforderung ist identisch mit dem der Zertifizierungsstelle.
  • Ein im Feld Antragsteller (Subject Distinguished Name) beantragter Relative Distinguished Name (RDN) ist länger als erlaubt
  • Eine Zertifikatanforderung enthält keinerlei Subject-Information (leerer Subject Distinguished Name und keinen Subject Alternative Name)

Details: Das Feld Antragsteller (Subject) in der Zertifikatanforderung ist identisch mit dem der Zertifizierungsstelle

Die Zertifizierungsstelle vergleicht ihren eigenen Antragstellernamen (Subject) mit dem des Antragstellers und lehnt Zertifikatanforderungen, die den Namen der Zertifizierungsstelle beantragen, ab.

Details: Ein im Feld Antragsteller (Subject Distinguished Name) beantragter Relative Distinguished Name (RDN) ist länger als erlaubt

Der Fehler kann auch auftreten, wenn einer der beantragten Relative Distinguished Names (RDN) im Feld Antragsteller zu lang ist. Die Länge der RDNs kann man sich mit folgendem Kommandozeilenbefehl anzeigen lassen:

certutil -v -dump {Zertifikatanforderung}

Microsoft Active Directory Certificate Services begrenzt die Länge für beantragte RDNs auf der Zertifizierungsstelle (im Fall des CN auf 64 Zeichen. Siehe auch Artikel "Erlaubte Relative Distinguished Names (RDNs) im Subject Distinguished Name (DN) ausgestellter Zertifikate"). Dieses Verhalten kann jedoch mit folgendem Kommandozeilenbefehl unterbunden werden:

certutil -setreg ca\EnforceX500NameLengths 0

Anschließend muss der Zertifizierungsstellen-Dienst neu gestartet werden, um die Änderungen zu übernehmen.

Sofern der Common PKI Standard eingesetzt wird, muss beachtet werden, dass dieser die Länge von Relative Distinguished Names (RDNs) auf 64 Zeichen begrenzt.

Ob die Einschränkung derzeit gesetzt ist, kann mit folgendem Kommandozeilenbefehl überprüft werden:

certutil -getreg ca\EnforceX500NameLengths

Für den Subject Alternative Name (SAN) trifft diese Einschränkung nicht zu. Je nach Zertifikattyp (z.B. für SSL) kann es sinnvoll oder sogar erforderlich (siehe RFC 2818) sein, den Subject Alternative Name dem Common Name gegenüber zu bevorzugen.

Details: Eine Zertifikatanforderung enthält keinerlei Subject-Information (leerer Subject Distinguished und keinen Subject Alternative Name)

Enthält eine Zertifikatanforderung keinerlei Identitätsinformation, tritt diese Fehlermeldung ebenfalls auf.

Dieses Phänomen kann auch in Verbindung mit Mobile Device Management (MDM) Systemen auftreten, wenn einem verwalteten Gerät kein gültiger Benutzer zugewiesen ist. Konkret habe ich dieses Verhalten mit Baramundi Enterprise Mobility Management beobachten können.

Ermitteln kann man dies durch Export der Zertifikatanforderung aus der Zertifizierungsstellen-Datenbank und anschließendem Anzeigen der ASN.1 kodierten Rohdaten mit folgendem Befehl.

certutil -asn {Dateiname}
Eine Zertifikatanforderung enthält keinerlei Subject Distinguished Name (DN), die Seqzenz ist leer.

Zum Vergleich eine Zertifikatanforderung, welche einen leeren commonName enthält.

Eine Zertifikatanforderung enthält einen Subject Distinguished Name (DN) mit einem leeren commonName, die Seqzenz ist nicht leer.

Weiterführende Links:

Externe Quellen

de_DEDeutsch