Freigeben über


Erneuerung der Zertifizierungsstelle

Zertifikatdienste unterstützt die Erneuerung einer Zertifizierungsstelle (CA). Die Verlängerung ist die Ausstellung eines neuen Zertifikats für die Zertifizierungsstelle, um die Lebensdauer der Zertifizierungsstelle über das Enddatum des ursprünglichen Zertifikats hinaus zu verlängern. Sie können eine Zertifizierungsstelle als Aufgabe innerhalb des MMC-Snap-Ins der Zertifizierungsstelle oder mithilfe des Certutil.exe Tools (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 stehen Zertifizierungsstellenzertifikate und Zertifikatsperrlisten (CRL), die von der Zertifizierungsstelle ausgestellt wurden, bevor die Verlängerung verfügbar ist, nachdem die Zertifizierungsstelle erneuert wurde. Um diese verfügbar zu machen, verwaltet Zertifikatdienste einen Index von Zertifizierungsstellenzertifikaten, CRLs und Schlüsseln.

Die Indizes und Suffixnamen von Zertifizierungsstellenzertifikaten und CRLs während verschiedener Zertifizierungsstellenerneuerungsvorgänge sind wie folgt.

Operation Zertifizierungsstellenzertifikatindex Dateinamensuffix der Zertifizierungsstelle CRL und Schlüsselindex CRL- und Schlüsselcontainernamensuffix
Originalinstallation der Zertifizierungsstelle 0 "" 0 ""
Verlängerung mit neuem Schlüssel 1 "(1)" 1 "(1)"
Erneuerungstaste wiederverwenden 2 "(2)" 1 "(1)"
Erneuerungstaste wiederverwenden 3 "(3)" 1 "(1)"
Verlängerung mit neuem Schlüssel 4 "(4)" 4 "(4)"
Erneuerungstaste wiederverwenden 5 "(5)" 4 "(4)"
Verlängerung mit neuem Schlüssel 6 "(6)" 6 "(6)"
Erneuerungstaste wiederverwenden 7 "(7)" 6 "(6)"

 

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

Obwohl der Zertifikatindex und das Suffix der Zertifizierungsstelle jedes Mal erhöht werden, wenn die Zertifizierungsstelle erneuert wird, werden die CRL und die Schlüsselindizes und die Dateinamensuffixe nur dann auf den Zertifikatindex der Zertifizierungsstelle festgelegt, wenn der Erneuerungsprozess ein neues paar öffentlicher/privater Schlüssel enthält. Wenn dies nicht der Fall ist, bleiben die Werte dieser Indizes und Suffixe identisch wie für den 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 auf der Benutzeroberfläche ein neues oder ein vorhandenes Schlüsselpaar an. Im tool 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 Zertifikatindex der Zertifizierungsstelle festgelegt wird, wenn für die Verlängerung ein neues Schlüsselpaar verwendet wird. Nach der ersten Verlängerung (die ein neues Schlüsselpaar verwendet hat), wird der Index der CRL und des Schlüssels auf 1 festgelegt, und das CRL- und Schlüsselcontainernamensuffix lautet "(1)". Nach der zweiten Verlängerung bleibt jedoch der Index der CRL und des Schlüssels 1, und das CRL- und Schlüsselcontainernamensuffix bleibt auch "(1)"; Dies liegt daran, dass die zweite Verlängerung das vorhandene Schlüsselpaar verwendet hat und nur eine CRL für jedes Schlüsselpaar der Zertifizierungsstelle ausgegeben wird.

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

Zertifizierungsstellenzertifikate und CRLs 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 Null und einen Schlüsselindex von Null. Die Verlängerung eines Zertifizierungsstellenzertifikats führt dazu, dass der Zertifikatindex erhöht wird. Wenn der Schlüssel in der Erneuerung wiederverwendet wird, entspricht der Schlüsselindex dem vorherigen Schlüsselindex. Wenn der Schlüssel nicht wiederverwendet wird, entspricht der Schlüsselindex dem neuen Zertifikatindex.

ICertServerPolicy::GetCertificateProperty

ICertServerExit::GetCertificateProperty