Entfernen der ADCS-spezifischen Erweiterungen aus Zertifikaten

Verwendet man Active Directory Certificates, fällt auf, dass in den Zertifikaten der Zertifizierungsstellen und den von ihnen ausgestellten Zertifikaten bestimmte Erweiterungen vorkommen, die nicht in den einschlägigen RFCs definiert und spezifisch für AD CS sind.

Um welche Erweiterungen handelt es sich?

  • CA Version
  • Previous CA Certificate Hash
  • Certificate Template Name
  • Certificate Template Information
  • Application Policies

Die CA Version Erweiterung beschreibt die Versionen der Zertifizierungsstellen-Zertifikate sowie der privaten Schlüssel.

Die "Previous CA Certificate Hash" Zertifikaterweiterung beinhaltet den SHA1-Hashwert des vorigen Zertifizierungsstellen-Zertifikats. Entsprechend ist diese Erweiterung auch nur in erneuerten Zertifizierungsstellen-Zertifikaten vorhanden.

Sollten diese Erweiterungen entfernt werden?

Die Erweiterungen sind allesamt als nicht-kritisch markiert und sollten gemäß RFC5280 daher im Betrieb keine negativen Auswirkungen haben.

A non-critical extension MAY be ignored if it is not recognized, but MUST be processed if it is recognized.

Gründe für deren Entfernung könnten sein:

  • Anwendungen, die die Erweiterungen trotz der Markierung als nicht-kritisch falsch interpretieren
  • Erschweren der Möglichkeit, anhand der Zertifikate auf eine Microsoft Zertifizierungsstelle zu schließen

Welche Auswirkungen hat die Entfernung der Erweiterungen?

Die Entfernung der Erweiterungen "CA Version" und "Previous CA Certificate Hash" bei Zertifizierungsstellen-Zertifikaten hat im laufenden Betrieb keine negativen Auswirkungen. Lediglich wenn die Zertifizierungsstelle aus einem Backup wiederhergestellt werden sollte, kann die korrekte Reihenfolge der Zertifizierunggsstellen-Zertifikate unter Umständen nicht korrekt ermittelt werden. Dies muss dann manuell überprüft und gegebenenfalls korrigiert werden.

Die Erweiterungen "Certificate Template Name" und "Certificate Template Information" in End-Entitätszertifikaten werden von verschiedenen Anwendungen (unter Anderem Autoenrollment, Domänencontrollern und dem Online Responder) verwendet und sollten daher auf keinen Fall entfernt werden.

Siehe hierzu auch Artikel "Der Onlineresponder (OCSP) beantragt alle vier Stunden neue Signaturzertifikate".

Wie werden die Erweiterungen entfernt?

Entfernen der Erweiterungen für Root CA Zertifikate

Die Konfiguration erfolgt für die Zertifikate der Root Zertifizierungsstelle in ihrer capolicy.inf Datei, zu finden unter C:\Windows\. Die Konfiguration muss vor Ausstellung des CA-Zertifikates erfolgen, also entweder vor der Installation der Zertifizierungsstelle, oder vor der Erneuerung des CA-Zertifikats.

[Extensions]
1.3.6.1.4.1.311.21.1= ; szOID_CERTSRV_CA_VERSION
1.3.6.1.4.1.311.21.2= ; szOID_CERTSRV_PREVIOUS_CERT_HASH

Entfernen der Erweiterungen für untergeordnete CA Zertifikate

Die Konfiguration erfolgt in der Registry der jeweils übergeordneten Zertifizierungsstelle (beispielsweise der Root Zertifizierungsstelle). Die Konfiguration muss vor Ausstellung des CA-Zertifikates erfolgen, also entweder vor der Installation der ausstellenden Zertifizierungsstelle, oder vor der Erneuerung des CA-Zertifikats.

Die "CA Version" Zertifikaterweiterung kann mit folgendem Befehl entfernt werden:

certutil -setreg policy\DisableExtensionList +1.3.6.1.4.1.311.21.1

Die "Previous CA Certificate Hash" Zertifikaterweiterung kann mit folgendem Befehl entfernt werden:

certutil -setreg policy\DisableExtensionList +1.3.6.1.4.1.311.21.2

Die "Certificate Template Name" Zertifikaterweiterung kann mit folgendem Befehl entfernt werden:

certutil -setreg policy\DisableExtensionList +1.3.6.1.4.1.311.20.2

Der Zertifizierungsstellen-Dienst muss anschließend neu gestartet werden.

Entfernen der Erweiterungen für End-Entitäts-Zertifikate

Folgende Erweiterungen sollten nicht entfernt werden, da sie für einige Funktionen benötigt werden:

  • Die CA Version Erweiterung sollte bei End-Entitäts-Zertifikaten nicht vorkommen. Sollte unter dieser Zertifizierungsstelle weitere CA-Zertifikate kommen, kann die Erweiterung aber analog zu den Sub-CA-Zertifikaten entfernt werden.
  • Gleiches gilt für die Erweiterung Previous CA Certificate Hash.
  • Autoenrollment benötigt die Erweiterung "Certificate Template Information" für ihre korrekte Funktion.
  • Der Online Responder enötigt die Erweiterung "Certificate Template Information" für seine korrekte Funktion.

Die "Application Policies" Zertifikaterweiterung kann hingegen problemlos mit folgendem Befehl entfernt werden:

certutil -setreg policy\DisableExtensionList +1.3.6.1.4.1.311.21.10

Weiterführende Links

Externe Quellen