Wie sind die Kompatibilitätseinstellungen für Zertifikatvorlagen technisch abgebildet?

Seit den Verwaltungstools für die Zertifikatdienste in Windows Server 2012 kann man beim Konfigurieren einer Zertifikatvorlage die gewünschte Kompatibilität für die Zertifizierungsstelle und Zertifikatempfänger auswählen.

Nachfolgend wird diese Funktion näher beschrieben, sowie auf mögliche Auswirkungen in der Praxis eingegangen.

Für eine Übersicht, welche Optionen bei Veränderung der einzelnen Kompatibilitätseinstellungen verfügbar werden siehe Artikel "Übersicht über die Verfügbarkeit von Optionen bei Veränderung der Kompatibilitätseinstellungen einer Zertifikatvorlage".

Die Kompatibilitätseinstellungen sind als Bitmaske im Attribut msPKI-Private-Key-Flag in der Zertifikatvorlage abgebildet.

Das msPKI-Private-Key-Flag zwei untergeordnete Attribute:

  • CTPRIVATEKEY_FLAG_SERVERVERSION_SHIFT
  • CTPRIVATEKEY_FLAG_CLIENTVERSION_SHIFT

Mögliche Werte für CTPRIVATEKEY_FLAG_SERVERVERSION_SHIFT

BetriebssystemFlagWert
StandardeinstellungTEMPLATE_SERVER_VER_NONE0
Windows Server 2003TEMPLATE_SERVER_VER_200310000 (65536)
Windows Server 2008TEMPLATE_SERVER_VER_200820000 (131072)
Windows Server 2008 R2TEMPLATE_SERVER_VER_2008R230000 (196608)
Windows Server 2012TEMPLATE_SERVER_VER_WIN840000 (262144)
Windows Server 2012 R2TEMPLATE_SERVER_VER_WINBLUE50000 (327680)
Windows Server 2016TEMPLATE_SERVER_VER_THRESHOLD60000 (393216)

Mögliche Werte für CTPRIVATEKEY_FLAG_CLIENTVERSION_SHIFT

BetriebssystemFlagWert
StandardeinstellungEMPLATE_CLIENT_VER_NONE0
Windows XPTEMPLATE_CLIENT_VER_XP1000000 (16777216)
Windows VistaTEMPLATE_CLIENT_VER_VISTA2000000 (33554432)
Windows 7TEMPLATE_CLIENT_VER_WIN73000000 (50331648)
Windows 8TEMPLATE_CLIENT_VER_WIN84000000 (67108864)
Windows 8.1TEMPLATE_CLIENT_VER_WINBLUE5000000 (83886080)
Windows 10TEMPLATE_CLIENT_VER_THRESHOLD6000000 (100663296)

Abfrage des Attributs für eine Zertifikatvorlage

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.

Mit folgendem Kommandozeilenbefehl können die aktuell für eine Zertifikatvorlage konfigurierten Werte für die beiden Flags abgefragt werden:

certutil -v -template {Name-der-Vorlage} | findstr VERSION_SHIFT

Der Vorlagenname entspricht dem Namen des Active Directory Objektes, nicht dem Anzeigenamen.

Alternativ ist es auch möglich, das msPKI-Private-Key-Flag direkt auf dem pKICertificateTemplate Objekt im Active Directory abzufragen und auszuwerten.

certutil -v -ds "{DN-des-Template-Objekts}"

Beispiel:

certutil -v -ds "CN=ADCSLaborBenutzer,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=intra,DC=adcslabor,DC=de"

Prüft man direkt nach einer Änderung an der Zertifikatvorlage sollte man den clientseitigen Cache mit certutil -pulse aktualisieren, um die aktuellsten Informationen angezeigt zu bekommen.

Weiterführende Links:

de_DEDeutsch