Freigeben über


Erneuerung der Zertifizierungsstelle

Certificate Services unterstützt die Erneuerung einer Zertifizierungsstelle (Certification Authority , CA). Die Verlängerung ist die Ausstellung eines neuen Zertifikats für die Zertifizierungsstelle, um die Lebensdauer der Zertifizierungsstelle über das Enddatum ihres ursprünglichen Zertifikats hinaus zu verlängern. Sie können eine Zertifizierungsstelle als Aufgabe innerhalb des MMC-Snap-Ins der Zertifizierungsstelle oder mithilfe des tools Certutil.exe (mit dem Befehl -renewCert ) verlängern.

Jede Verlängerung führt zu einem neuen Zertifizierungsstellenzertifikat. Der Administrator kann jedoch entweder ein neues öffentliches/privates Schlüsselpaar generieren oder das vorhandene öffentliche/private Schlüsselpaar für das Zertifizierungsstellenzertifikat wiederverwenden. Für Konsistenz und Integrität sind Zertifizierungsstellenzertifikate und Zertifikatsperrlisten (Certificate Revocation Lists , CRL), die von der Zertifizierungsstelle vor ihrer Verlängerung ausgestellt wurden, nach der Verlängerung der Zertifizierungsstelle verfügbar. Um diese verfügbar zu machen, verwaltet Certificate Services einen Index von Zertifizierungsstellenzertifikaten, Zertifikatsperrlisten und Schlüsseln.

Die Indizes und Suffixnamen von Zertifizierungsstellenzertifikaten und Zertifikatsperrlisten bei verschiedenen Erneuerungsvorgängen der Zertifizierungsstelle sind wie folgt.

Vorgang Zertifizierungsstellenzertifikatindex Dateinamensuffix der Zertifizierungsstelle Zertifikatsperrlisten- und Schlüsselindex Zertifikatsperrlisten- und Schlüsselcontainernamesuffix
Ursprüngliche Installation der Zertifizierungsstelle 0 "" 0 ""
Erneuerung mit neuem Schlüssel 1 "(1)" 1 "(1)"
Erneuerung der Wiederverwendung des Schlüssels 2 "(2)" 1 "(1)"
Erneuerung der Wiederverwendung des Schlüssels 3 "(3)" 1 "(1)"
Erneuerung mit neuem Schlüssel 4 "(4)" 4 "(4)"
Erneuerung der Wiederverwendung des Schlüssels 5 "(5)" 4 "(4)"
Erneuerung mit neuem Schlüssel 6 "(6)" 6 "(6)"
Erneuerung der Wiederverwendung des Schlüssels 7 "(7)" 6 "(6)"

 

Wenn eine Zertifizierungsstelle installiert ist, ist der Zertifikatindex 0 und das Zertifikatsuffix ist "" (eine leere Zeichenfolge). Jedes Mal, wenn das Zertifikat erneuert wird (unabhängig davon, ob Schlüssel wiederverwendet werden oder nicht), wird der Zertifikatindex um einen erhöht, und das Zertifikatdateisuffix wird zu einer Zeichenfolge des Formulars "(n)", wobei n die Anzahl der Wiederholungen des Zertifikats der Zertifizierungsstelle darstellt. Nach der ersten Verlängerung ist der Zertifikatindex 1, und das Zertifikatdateisuffix lautet "(1)". Nach der zweiten Verlängerung ist der Zertifikatindex 2 und das Zertifikatdateisuffix "(2)" usw.

Obwohl der Zertifikatindex und das Suffix der Zertifizierungsstelle bei jeder Verlängerung der Zertifizierungsstelle um eins erhöht werden, werden die Zertifikatsperrlisten- und Schlüsselindizes und die Dateinamensuffixe nur dann auf den Zertifikatindex der Zertifizierungsstelle festgelegt, wenn der Erneuerungsprozess ein neues öffentliches/privates Schlüsselpaar enthält. Andernfalls bleiben die Werte dieser Indizes und Suffixe unverändert wie beim letzten Index. Während der Verlängerung gibt ein Administrator an, ob ein neues Schlüsselpaar generiert oder das vorhandene Schlüsselpaar verwendet wird. (Im MMC-Snap-In der Zertifizierungsstelle gibt eine Option in der Benutzeroberfläche ein neues oder ein vorhandenes Schlüsselpaar an. Im Certutil.exe Tool erneuert der Befehl certutil -renewCert die Zertifizierungsstelle mit einem neuen Schlüsselpaar, während der Befehl certutil -renewCert ReuseKeys die Zertifizierungsstelle mit dem vorhandenen Schlüsselpaar erneuert.)

Der CRL-Index ist direkt an den Schlüsselindex gebunden, der nur dann auf den Zertifizierungsstellenzertifikatindex festgelegt wird, wenn ein neues Schlüsselpaar für die Verlängerung verwendet wird. Nach der ersten Verlängerung (bei der ein neues Schlüsselpaar verwendet wurde) wird der Index der Zertifikatsperrliste und des Schlüssels auf 1 festgelegt, und das CRL- und das Schlüsselcontainernamensuffix lautet "(1)". Nach der zweiten Verlängerung bleibt der Index der Zertifikatsperrliste und des Schlüssels jedoch 1, und das Namenssuffix der CRL und des Schlüsselcontainernamens bleibt auch "(1)"; Dies liegt daran, dass bei der zweiten Verlängerung das vorhandene Schlüsselpaar verwendet wurde und nur eine Zertifikatsperrliste für jedes Zertifizierungsstellenschlüsselpaar ausgegeben wird.

Sie können die indizierten Zertifizierungsstellenzertifikate und Zertifikatsperrlisten abrufen, indem Sie die GetCertificateProperty-Methode (sowohl in der ICertServerExit - als auch in der ICertServerPolicy-Schnittstelle ) aufrufen. Wenn Sie bestimmte Eigenschaften im Zusammenhang mit dem Zertifizierungsstellenzertifikat oder der Zertifikatsperrliste abrufen, können Sie den nullbasierten Index des Zertifizierungsstellenzertifikats an die Eigenschaftennamen anfügen. Um beispielsweise den Zertifikatsperrlistenindex abzurufen, der dem dritten Zertifikat der Zertifizierungsstelle entspricht, übergeben Sie die Eigenschaft "CRLIndex.2" an ICertServerPolicy::GetCertificateProperty. für die Tabelle ist der abgerufene Eigenschaftswert "CRLIndex.2" 1. Eine Eigenschaft namens "CertCount" kann verwendet werden, um zu bestimmen, wie oft die Zertifizierungsstelle ein Zertifizierungsstellenzertifikat ausgestellt hat.

Zertifizierungsstellenzertifikate und Zertifikatsperrlisten enthalten eine Erweiterung, die Informationen über das Zertifikat und den Schlüsselindex bereitstellt. Die Erweiterung wird in Wincrypt.h als szOID_CERTSRV_CA_VERSION mit dem Wert "1.3.6.1.4.1.311.21.1" definiert. Die Erweiterungsdaten sind ein DWORD-Wert (codiert als X509_INTEGER in der Erweiterung); die niedrigen 16 Bits sind der Zertifikatindex, und die hohen 16 Bits sind der Schlüsselindex.

Die Erstinstallation einer Zertifizierungsstelle erzeugt einen Zertifikatindex von 0 und einen Schlüsselindex von 0. Die Verlängerung eines Zertifizierungsstellenzertifikats führt dazu, dass der Zertifikatindex erhöht wird. Wenn der Schlüssel in der Verlängerung wiederverwendet wird, ist der Schlüsselindex mit dem vorherigen Schlüsselindex identisch. Wenn der Schlüssel nicht wiederverwendet wird, stimmt der Schlüsselindex mit dem neuen Zertifikatindex überein.

ICertServerPolicy::GetCertificateProperty

ICertServerExit::GetCertificateProperty