Einschränkung der Pfadlänge (Path Length Constraint) für von einer Zertifizierungsstelle ausgestellte Zertifikate konfigurieren

Für eine stärkere Kontrolle über die von einer Zertifizierungsstelle ausstellbaren Zertifikate kann eine Einschränkung der Pfadlänge (Path Length Constraint) eingerichtet werden, sodass Zertifizierungsstellen ab einer definierten Hierarchieebene nicht mehr in der Lage sind untergeordnete Zertifizierungsstellen-Zertifikate auszustellen

Für eine Erklärung der Funktionsweise der Einschränkung der Pfadlänge siehe Artikel "Grundlagen: Einschränkung der Pfadlänge (Path Length Constraint)".

Es gibt zwei Möglichkeiten, eine Einschränkung der Pfadlänge in einem Zertifizierungsstellen-Zertifikat zu realisieren:

  • Durch Eintrag in die Erweiterung "Basic Constraints" eines Zertifizierungsstellen-Zertifikats. Dies kann entweder über den Zertifikatantrag der Zertifizierungsstelle beantragt oder durch die übergeordnete Zertifizierungsstelle vorgegeben werden. Eine Stammzertifizierungsstelle kann sich diesen Eintrag für ihr eigenes Zertifizierungsstellen-Zertifikat während dessen Ausstellung selbst setzen. Bei einer Stammzertifizierungsstelle (Root CA) raubt dies jedoch Flexibilität, da eine Änderung eine Neuausstellung (Erneuerung) des Zertifizierungsstellen-Zertifikats erforderlich macht.
  • Durch Eintrag eines Registrierungsschlüssels in der Zertifizierungsstelle, welcher die Zertifizierungsstelle annehmen lassen wird, sie würde über eine Einschränkung der Pfadlänge verfügen, obwohl keine im Zertifizierungsstellen-Zertifikat definiert ist. Dies ist der bevorzugte Weg für eine Zertifizierungsstelle.

Konfiguration über den Zertifikatantrag einer Zertifizierungsstelle

Wird ein Zertifizierungsstellen-Zertifikat erstmalig beantragt oder später erneuert (im Fall einer Stammzertifizierungsstelle auch: durch sich selbst ausgestellt), kann durch durch vorheriges Eintragen einer Sektion innerhalb der capolicy.inf (funktioniert auch bei bereits bestehenden Zertifizierungsstellen) der entstehende Zertifikatantrag entsprechend bearbeitet werden, sodass eine Einschränkung der Pfadlänge beantragt wird.

[BasicConstraintsExtension]
PathLength={Wert}
Critical=TRUE

Hinweis: Richtlinien (Policies) und Einschränkungen (Constraints) sollten immer von der übergeordneten Zertifizierungsstelle vorgegeben werden. Dies bedeutet, dass die übergeordnete Zertifizierungsstelle nicht an unseren Antrasg gebunden ist und diesen entsprechend auch abweichend bearbeiten kann. Daher ist eine Ergebniskontrolle unerlässlich.

Um die Einschränkung der Pfadlänge zu setzen, wird als "Wert" eine natürliche positive Zahl entsprechend der Anzahl der gewünschten Hierarchieebenen eingetragen. Bitte beachten, dass die letzte Hierarchieebene den Wert "0" erhalten wird. Möchte man also eine zweistufige Hierarchie definieren, muss auf der Stammzertifizierungsstelle der Wert "1" eingetragen werden.

Über die Umsetzung der in einer Zertifikatanforderung (CSR) beantragten Einstellungen entscheidet letztendlich die übergeordnete Zertifizierungsstelle. Somit kann das Ergebnis im ausgestellten Zertifikat vom Zertifikat durchaus abweichen und muss entsprechend kontrolliert werden.

Anschließend kann das Zertifizierungsstellen-Zertifikat beantragt bzw. erneuert werden.

Konfiguration über Registry der Zertifizierungsstelle

Die Konfiguration für die Einschränkung der Pfadlänge von einer Zertifizierungsstelle ausgestellten Zertifikate wird über die Registry auf der Zertifizierungsstellen festgelegt. Sie befindet sich in folgendem Schlüssel:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\ 
{Common-Name-der-Zertifizierungsstelle}\PolicyModules\CertificateAuthority_MicrosoftDefault.Policy

Die Konfiguration kann über den Registrierungs-Editor oder über den folgenden Kommandozeilenbefehl erfolgen:

certutil -setreg Policy\CAPathLength {Wert}
  • Um die Einschränkung der Pfadlänge zu setzen, wird eine natürliche positive Zahl entsprechend der Anzahl der gewünschten Hierarchieebenen eingetragen. Bitte beachten, dass die letzte Hierarchieebene den Wert "0" erhalten wird. Möchte man also eine zweistufige Hierarchie definieren, muss auf der Stammzertifizierungsstelle der Wert "1" eingetragen werden.
  • Um die Einschränkung der Pfadlänge zu deaktivieren, wird der Wert "-1" (Hexadezimal: ffffffff) eingetragen.

Nach Setzen der Konfiguration muss der Zertifizierungsstellen-Dienst neu gestartet werden, damit die Konfiguration eingelesen und verwendet wird.

Schlussworte

Von der Zertifizierungsstelle ausgestellte Zertifikate (und je nach Konfiguration das Zertifizierungsstellen-Zertifikat selbst) sollten nun in der Erweiterung "Basic Constraints" eine entsprechende Einschränkung der Pfadlänge besitzen.

Weiterführende Links:

de_DEDeutsch